Jenkins自动化部署(一)前期软件安装

前言

最近跳槽去了一家新公司,我这个半吊子开发也体验了一回自动化部署,由以前使用脚本手动部署jar包迭代成自动化部署😀。

期间踩了无数的坑,贡献出了自己一百多买的小水管服务器,也加了在新公司的第一次班(怒赚一百多加班费)。总算最后结果是好的,基本跑通了完整的流程,想着在这里简单记录一下。

正文

本文主要针对前期各种软件的安装以及环境变量的配置,如果已经有像JDK、Nginx等软件,可以看下一篇文章。

Jenkins其实简单的理解,就是帮你把代码从仓库拉下来,打包,部署。

所以,实际开发中你用到了什么软件,这里我们就需要安装什么软件。这里我从解压即用和需要自己编译两种情况来讲解

解压即用

顾名思义,下载压缩包,上传,解压,配置环境变量,就是这么简单

也许有人会问,为什么要用压缩包解压的形式呢,直接yum安装不好吗?

因为我是个半吊子运维,yum安装的方式不能自定义安装路径(也可能是我不会),所以我个人更喜欢采用压缩包的方式,看得见,摸得着😀。

ok,言归正传,我个人习惯/usr/local下放各种安装的软件,把压缩包上传即可(xshell+xftp,好用,强推)

那如果没有压缩包怎么办呢?我们可以使用wget下载

首先下载wget,这种我们不太可能需要在其他地方使用到的软件直接yum安装就好,简单粗暴

shell 复制代码
yum -y install wget

然后下载所需的软件,这里给出我当时笔记中记录的下载地址,其他的可以自行百度或者直接去官网下载压缩包

shell 复制代码
# Maven下载
wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz --no-check-certificate
# Node下载
wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz
# jdk11 下载
wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz

Java开发最重要的软件 Jdk

这里细心的小伙伴已经发现,我下载的是Jdk11,那么作为一个你发任你发,我用Java8的程序猿,为什么会选择唯独在Jenkins这里使用Jdk11呢?

实在是没有办法,新版的Jenkins支持的最低Jdk版本是11,虽然官网可以下载到老版本的war包,但是自动下载的插件(Jenkins中的插件)基本都对Jenkins的版本有要求,这里强烈建议,不要较劲,会招致不幸。如果你非要尝试的话,我只能说祝你好运,希望你不要像我一样加班,或者你在一家加班有加班费的公司。

有了压缩包,下一步就是解压,这里直接列出解压命令,其他软件解压命令相同,不再重复

shell 复制代码
tar -zxvf apache-maven-3.8.6-bin.tar.gz # 解压
tar -zcvf test.tar.gz file1 dir2  # 压缩文件 file1 和目录 dir2 到 test.tar.gz

下面来配置环境变量

cd 到/etc目录下,找到profile,直接在末尾添加即可(注意修改目录,不要照抄),这里一次性给出软件的配置信息,后文不再赘述

shell 复制代码
export JAVA_HOME=/usr/soft/jdk-11.0.1
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export MAVEN_HOME=/usr/soft/apache-maven-3.8.6
export PATH=$MAVEN_HOME/bin:$PATH

export NODEJS_HOME=/usr/soft/node-v14.17.4-linux-x64
export PATH=$NODEJS_HOME/bin:$PATH

export PATH=$PATH:/usr/soft/git/bin

修改完之后不要忘记最重要的刷新配置文件,不然是不会生效的

shell 复制代码
source /etc/profile

注意:如果以前安装过Jdk8,或者没有卸载系统自带的Jdk的话,可能会出现java-version仍然是1.8的情况,此时我们可以修改引用PATH的顺序(针对不是按照这篇文章安装jdk的小伙伴)

shell 复制代码
# 这是调整后的顺序
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 

Maven

Java打包一定离不开的一个软件就是Maven,他也是一个解压即用的软件,但是与Jdk不同的一点就是,他需要配置环境变量,不然的话下载依赖的时候会怀疑人生的

这里就体现出使用压缩包方式的好处了,直接进入到我们Maven的解压路径,和Windows一样,去修改conf中的settings.xml(别忘了仓库的路径自行指定并创建文件夹)

shell 复制代码
# 指定仓库位置
  <localRepository>/usr/soft/apache-maven-3.8.6/repo</localRepository>
# 配置阿里云镜像
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

Node

这个说实话因为我是个后端,只是有前端也要自动化部署的需求,所以我在网上找了篇帖子,照着安装的。

和Maven一样,解压,换源,就可以了

shell 复制代码
#设置淘宝镜像源
npm config set registry https://registry.npm.taobao.org
#查看使用的镜像源
npm config get registry
#安装淘宝镜像源
npm install -g cnpm --registry=https://registry.npm.taobao.org

解压源代码,自行编译

以下软件官方提供的压缩包是源代码,需要自行编译

Git

官网下载地址为

shell 复制代码
https://github.com/git/git/releases

编译前安装前置依赖

shell 复制代码
# 一条命令
yum install curl-devel expat-devel gettext-devel 
openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

编译源码到指定目录(不指定目录就和你Windows不更改安装地址一样,直接到了默认的地方了)

shell 复制代码
make prefix=/usr/local/git all
make prefix=/usr/local/git install

Nginx与Git步骤一样,这里不再赘述

后记

到这里,我们就完成了Jenkins需要用到的所有软件的安装,下一步,让我们来安装Jenkins

相关推荐
遨游DATA3 小时前
Jenkins 修改 config.xml 后页面仍是旧配置:让 live job 配置真正生效
ci/cd·jenkins·devops·故障排查·config.xml
Dobby_054 小时前
【CICD】Jenkins Pipeline 快速学习入门
运维·学习·jenkins
上海安当技术20 小时前
统一身份认证平台怎么落地?11 个异构业务系统接入 ASP 的完整实施路径
数据库·servlet·架构·kubernetes·jenkins
回眸不遇3 天前
类型的区别和应用场景 nested 每个对象独立存储为隐藏的子文档 适合存储数组 查询的时候有特定的语法 nested查询 且字段要 ...
运维·jenkins
X1A0RAN4 天前
容器化部署 Jenkins 教程
运维·docker·jenkins
BullSmall4 天前
jenkins 全局工具变更后,构建的任务为什么没有刷新过来
运维·jenkins
BullSmall4 天前
报错 libatomic.so.1: No such file or directory
jenkins
ji_shuke5 天前
从零深入:基于 Playwright + Pytest + Allure 的企业级 Web 端到端自动化测试框架实战
前端·自动化测试·docker·jenkins·pytest·allure·playwright
上海安当技术5 天前
老系统零改造接入:旁路代理统一认证实战
java·servlet·架构·kubernetes·jenkins
Mr. zhihao5 天前
Jenkins 从节点连不上主节点?一次网络排查全记录 + 机器间通信“拦截层“全景讲解
网络·servlet·jenkins