Jenkins自动部署
Posted royal6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins自动部署相关的知识,希望对你有一定的参考价值。
1. 准备代码,提交到码云Git库
代码中需要包含以下几部分内容:
(1)项目根目录代码中需要包含Dockerfile文件
文件内容:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/demojenkins.jar demojenkins.jar
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]
(2)在项目pom文件中指定打包类型,包含build部分内容
<packaging>jar</packaging>
<build>
<finalName>demojenkins</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2. 安装JAVA 运行环境
第一步:上传或下载安装包
cd/usr/local
jdk-8u121-linux-x64.tar.gz
第二步:解压安装包
tar -zxvf jdk-8u121-linux-x64.tar.gz
第三步:建立软连接
ln -s /usr/local/jdk1.8.0_121/ /usr/local/jdk
第四步:修改环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
通过命令source /etc/profile让profile文件立即生效
source /etc/profile
第五步、测试是否安装成功
使用java -version,出现版本
3. 安装maven
第一步:上传或下载安装包
cd/usr/local
apache-maven-3.6.1-bin.tar.gz
第二步:解压安装包
tar -zxvf apache-maven-3.6.1-bin.tar.gz
第三步:建立软连接
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven
第四步:修改环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
通过命令source /etc/profile让profile文件立即生效
source /etc/profile
第五步、测试是否安装成功
mvn –v
4. 安装git
yum -y install git
5. 安装docker
参考文档:
https://help.aliyun.com/document_detail/60742.html?spm=a2c4g.11174283.6.548.24c14541ssYFIZ
第一步:安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
第二步:添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步:更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
第四步:开启Docker服务
service docker start
第五步、测试是否安装成功
docker -v
* 6. 安装Jenkins
第一步:上传或下载安装包
cd/usr/local/jenkins
jenkins.war
第二步:启动
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
第二步:访问
7. 初始化 Jenkins 插件和管理员用户
7.1访问jenkins
7.2解锁jenkins
获取管理员密码
cat /root/.jenkins/secrets/initialAdminPassword
注意:配置国内的镜像
官方下载插件慢 更新下载地址
cd {你的Jenkins工作目录}/updates #进入更新配置位置
sed -i ‘s/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g‘ default.json && sed -i ‘s/http://www.google.com/https://www.baidu.com/g‘ default.json
这是直接修改的配置文件,如果前边Jenkins用sudo启动的话,那么这里的两个sed前均需要加上sudo
重启Jenkins,安装插件
7.3选择“继续”
7.4选择“安装推荐插件”
7.5插件安装完成,创建管理员用户
7.6保存并完成
7.7进入完成页面
8. 配置 Jenkins 构建工具
8.1全局工具配置
8.1.1配置jdk
JAVA_HOME:/usr/local/jdk
8.1.2配置maven
MAVEN_HOME:/usr/local/maven
8.1.2配置git
查看git安装路径:which git
9. 构建作业
9.1点击创建一个新任务,进入创建项目类型选择页面
填好信息点击“确认”
9.2配置“General”
9.3配置“源码管理”
填写源码的git地址
添加git用户,git的用户名与密码
选择添加的用户,上面的红色提示信息消失,说明连接成功
9.4构建作业
到源码中找到docker脚本
选择“执行shell”
#!/bin/bash
#maven打包
mvn clean package
echo ‘package ok!‘
echo ‘build start!‘
cd ./infrastructure/eureka_server
service_name="eureka-server"
service_prot=8761
#查看镜像id
IID=$(docker images | grep "$service_name" | awk ‘{print $3}‘)
echo "IID $IID"
if [ -n "$IID" ]
then
echo "exist $SERVER_NAME image,IID=$IID"
#删除镜像
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
echo "no exist $SERVER_NAME image,build docker"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk ‘{print $1}‘)
echo "CID $CID"
if [ -n "$CID" ]
then
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#删除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f $service_name
保存上面的构建作业
9.5构建
构建作业之后,就可以执行构建过程了。
构建结构
第一列是 "上次构建状态显示",是一个圆形图标,一般分为四种:
- 蓝色:构建成功;
- 黄色:不确定,可能构建成功,但包含错误;
- 红色:构建失败;
- 灰色:项目从未构建过,或者被禁用;
如上显示蓝色,表示构建成功。
注意:手动触发构建的时间与自动定时构建的时间互不影响。
以上是关于Jenkins自动部署的主要内容,如果未能解决你的问题,请参考以下文章