准备:
一个springboot项目、一台虚拟机(centos 7)。
安装:
-
linux安装docker
更新yum:yum update
下载docker: yum –y install docker-engine
2、下载jenkins之前安装jdk:
查找所有jdk版本: yum -y list java*
找到正确得版本:
下载jdk:yum –y install java-1.8.0-openjdk-devel.x86_64
检查jdk版本: java –version
查找java位置:whereis java
3、下载jenkins:
yum的repos默认没有Jenkins,先将Jenkins加入存储库yum repos:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安装jenkins: yum –y install jenkins
配置jenkins: vi /etc/sysconfig/Jenkins
原本下图圈起部分为jenkins和8080,我们修改为root和9000(0:65535
中随便取,只要不端口未被其他进程占用)
部署与配置
1、启动docker:service docker start
2、启动jenkins:service jenkins start
3、ipconfig查ip
4、在浏览器输入ip:9000,进入初始页面
5、获取password: tail /var/lib/jenkins/secrets/initialAdminPassword
6、将密码拷入浏览器,continue
7、点击推荐安装插件、之后耐心等待安装
8、安装完成进入管理员注册页面、根据提示注册账号,进入。
Tips:如果忘了账号密码。
找到jenkins的config.xml: cd /var/lib/Jenkins
修改vi config.xml:删除下列部分:
9、如果git下不下来,那就去重下
选择可选插件,搜索git,下载即可。
如果还是不行,自己去找别的教程吧,或者有的时候你重新弄的时候发现你可以下载了。【狗头】
工程配置
1、工程根目录下新建Dockerfile。
1 FROM: 生成镜像的jdk环境 2 3 ADD 将target下的jar包加入镜像 4 5 VOLUME 6 7 EXPOSE 80 docker暴露给外界的端口80 8 9 ENTRYPOINT 启动app.jar
2、新建start.sh
1 cd `dirname $0` #进入根目录 2 3 proj_home=$PWD #工程根目录 4 img_output=${image} #生成镜像标签 5 appname=${name} #容器名称 6 port=80 #docker暴露端口 7 8 # mvn打包镜像 9 docker run --rm doc--name my-maven-project -v /root/.m2:/root/.m2 -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3.5.0-jdk-8-alpine mvn clean install 10 # 获得docker容器 id和镜像 id 11 r_c=`docker ps -a | grep "$appname" | awk '{print $1 }'` 12 c=`docker ps -a | grep "$appname" | awk '{print $1 }'` 13 r_img=`docker images | grep "$appname" | awk '{print $3 }'` 14 # 如果容器正在运行,停止它 15 if [ "$r_c"x != ""x ]; then 16 docker stop "$r_c" 17 fi 18 # 删除容器 19 if [ "$c"x != ""x ]; then 20 docker rm "$c" 21 fi 22 # 删除镜像 23 if [ "$r_img"x != ""x ]; then 24 docker rmi "$r_img" 25 fi 26 27 # 生成镜像 28 docker build -t $img_output . 29 # 日志目录 30 mkdir -p $PWD/logs 31 chmod 777 $PWD/logs 32 33 # 启动镜像 8086为工程的端口 34 docker run -d --name $appname -p $port:8086 $img_output
Jenkins自动化配置
-
新建任务
输入任务名称、选择一个自由风格的软件项目。确定。
2.设置:找到源码管理:填入远程仓库http。
点击【添加】,添加认证:你的username和password。添加完毕后,返回选择即可。
3.构建触发器选择轮询SCM:每分钟检查代码是 * * * * * 。
圈起来的部分是轮询机制帮助
4.构建选择执行shell
填入命令:
cd /var/lib/jenkins/workspace/yifeng
./start.sh
点击保存。
5.查看
【立即构建】,然后点击最新的构建,进入。选择控制台输出
这样算成功了。可以在浏览器测试工程的接口了。
Tips:控制台输出第二行 是linux上的工作空间。 /var/lib/jenkins/workspace/${name}
最后
第一次构建可能比较久,日志会不一样,因为docker需要pull java:8和maven:3.5.0-jdk-8-alpine。如果是在日志上是卡到maven的话可以去网上查找docker拉取镜像加速的教程,多试几次就可以了。