java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Ubuntu安装jenkins自动化构建

Ubuntu安装jenkins完成自动化构建详细步骤

作者:SingleCase

Jenkins是一个开源的自动化服务器,可以用来轻松地建立持续集成和持续交付(CI/CD)管道,这篇文章主要给大家介绍了关于Ubuntu安装jenkins完成自动化构建的相关资料,需要的朋友可以参考下

前言

本篇文章介绍Ubuntu系统中安装jenkins,并使用jenkins完成自动化构建。

Jenkins自动构建部署流程通过git拉取代码,然后用maven打包成jar包,然后通过docker完成项目部署。这里的服务器需要安装jdk(openjdk也行),maven,git,docker,mysql,其他中间件(redis,mq等)。

1.maven安装

Ubuntu的包管理工具是apt,不同操作系统的包管理工具不同,这里使用对应的管理工具进行安装,我这里是Ubuntu,使用apt

# 1. 更新包索引
sudo apt update
# 2. 安装maven
sudo apt install maven
# 3. 验证是否安装成功
mvn -version
# 4. 环境变量配置
export MAVEN_HOME=/usr/share/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
# 5. 环境变量更新
source ~/.bashrc
# 6.验证环境变量是否配置成功
echo MAVEN_HOME
echo PATH
## 看到输出东西就证明成功了

2. jenkins安装

这里我的安装过程有点崎岖,我这就放两种方式吧。但是前提都是确保你的服务器安装了jdk或者openjdk

(1)apt方式安装

# 1. 更新包索引
sudo apt update
# 2. 添加jenkins GPG密钥
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 进行第二步的时候可能报错 “gpg: no valid OpenPGP data found” ,是wget命令版本过旧问题,这里用下面命令即可
wget --no-check-certificate -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 3. 将jenkins存储库添加到系统
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 4. 更新包索引
sudo apt update
# 5. 安装jenkins
sudo apt install jenkins
# 6. 启动jenkins
sudo systemctl start jenkins
## 启动jenkins后可以使用下面命令查看
sudo systemctl status jenkins # 查看运行状态
lsof -i:8080 # jenkins默认端口是8080,查看端口运行状态

(2)war包方式

我这里使用前面的apt方式,安装jenkins一直失败不成功,解决一个问题又有新的问题,这里我又通过war包方式安装(这里我也不知道这个方式需不需要基于前面的步骤,我这直接下载war后,就成功了)

# 1. 下载jenkins的war包
# 1.1 这是下载最新版的jenkins,但是最新版的jenkins需要jdk11以上版本
wget http://updates.jenkins-ci.org/latest/jenkins.war
# 1.2 我这里是jdk8版本,所以下载2.346版本的jenkins
wget https://get.jenkins.io/war-stable/2.346/jenkins.war
# 2. 到war包目录下,启动war包就行了,使用java -jar
nohup java -jar jenkins.war > jenkins.log &
## 这里使用nohup + & 后台启动war包,将jenkins日志输出到jenkins.log中

(3)jenkins启动

启动jenkins后,可以通过lsof命令查看端口占用来看jenkins是否启动成功,启动成功后,日志会有个密码,初次登陆jenkins使用这个密码。

登陆成功后,安装推荐插件

首次安装,可能会像我这样出现很多错误,这是由于网络原因,我们给jenkins配置一个国内镜像重启一下就行了。

找到配置文件的位置,使用文本编辑器修改配置文件的镜像

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

进入这个界面,jenkins就安装完成了。

3.jenkins配置完成自动化 构建

新建任务,选择构建一个maven项目

在源码管理填入自己的git仓库地址,然后在下面选择账号,新安装的Jenkins没有账号,这里可以新增一个(注意:这里填的git账号需要保证可以拉取到这个git项目)

选择执行shell脚本,输入需要执行的shell

# $WORKSPACE这个会自动找到Jenkins的工作目录
ls $WORKSPACE/target
# 我这里将Jenkins目录下打包的项目jar包,复制到制定目录并重命名为demo.jar
cp $WORKSPACE/target/rabbitmq.jar /data/rabbimq/demo.jar
# 切换到jar所在目录,然后执行目录下的start.sh脚本
cd /data/rabbimq
sh start.sh

这里看一下jar所在目录下的文件

Dockerfile为构建docker镜像使用

FROM openjdk:8-jre
WORKDIR /
ADD /demo.jar /demo.jar
EXPOSE 9000
ENTRYPOINT ["java","-Xms256m","-Xmx512m","-jar","demo.jar"]

start.sh作用:

创建需要的相关路径,停止容器,删除容器,删除镜像,重新构建镜像,启动项目,具体如下:

# 定义变量(后面通过$变量名使用)
dir=/data/rabbimq
name=demo
logs=/data/rabbimq/logs
port=9000
temp=/data/rabbimq/temp
if [ ! -d "$dir" ];then
  mkdir -p $dir
else
  echo "文件夹已经存在"
fi
if [ ! -d "$logs" ];then
  mkdir -p $logs
fi
date=`date +%Y%m%d%H%M%S`
# 停止容器(按照容器id停止)
docker stop `docker ps -a|grep $name|awk '{print $1}'`
# 删除容器(按照容器id删除)
docker rm `docker ps -a|grep $name|awk '{print $1}'`
# 删除镜像
docker rmi `docker images|grep $name|awk '{print $1}'`:`docker images|grep $name|awk '{print $2}'`
# 构建镜像(名称为名字加当前时间,可以防止镜像名称重复)
docker build -t $name:$date .
# 启动镜像,挂载需要的目录
docker run -itd -p $port:$port -v $logs:/logs -v $temp:/temp --name $name $name:$date  bash

这些做完后,点击立即构建就可以完成Jenkins自动构建部署了。

4.测试

编写一个测试接口

@Api(tags = "jenkins测试")
@RestController
@RequestMapping("/test/jenkins")
public class JenkinsTest {

    @GetMapping("/print")
    @ApiOperation("输出")
    public Result test(@RequestParam String text) {
        return Result.success("Jenkins接收到参数:" + text);
    }
}

提交到git

点击立即构建,等待完成,查看构建日志,可以看到是拉取到的我刚刚提交的最新代码。

完成后,访问我的swagger地址,可以看到刚刚新写的接口已经部署上去了,为最新的代码,查看服务器docker容器,也正在运行,到此就说明成功。

总结

到此这篇关于Ubuntu安装jenkins完成自动化构建的文章就介绍到这了,更多相关Ubuntu安装jenkins自动化构建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文