一、准备工作
- 准备测试代码,提交到Git仓库 1.1代码中需要包含Dockerfile文件
- Dockerfile文件内容:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/demojenkins.jar demojenkins.jar
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]
1.2在项目pom文件中指定打包类型,包含build部分内容
- 安装JAVA 运行环境
- 安装maven
- 安装git
yum -y install git
- 安装docker
- 安装Jenkins下载地址 6.1上传jenkins.war到服务器 6.2启动
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
二、初始化 Jenkins 插件和管理员用户
- 访问jenkins
http://ip:8080 - 解锁jenkins
获取管理员密码 - 选择“继续”
注意:出现此页面就不要往下进行了,配置国内的镜像,官方下载插件慢。关掉此页面,去配置镜像 - 配置镜像
4.1先杀掉进程
ps -ef | grep jenkins
kill -9 pid
4.2 cd {你的Jenkins工作目录}/updates ,进入更新配置位置
cd /root/.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,选择“安装推荐插件”
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
8. 插件安装完成,创建管理员用户
9. 保存并完成
11. 进入完成页面
三、配置 Jenkins 构建工具
- 全局工具配置
- 配置jdk
- 配置maven
- 配置git
四、构建作业
- 点击创建一个新item,进入创建项目类型选择页面
- 配置“General”
- 配置“源码管理”
填写源码的git地址 - 添加git用户,git的用户名与密码
- 构建作业
选择“执行shell”
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
#当前项目路径(在GitHub中为根路径)
cd ./
#打包名字
service_name="demojenkins"
service_prot=8111
#查看镜像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
保存上面的构建作业
- 构建
5.1执行构建过程
需要先启动docker
service docker start
5.2查看控制台输出