docker jenkins 的安装配置和持续部署

修改宿主机的docker权限

chmod 777 /var/run/docker.sock

安装

docker run -p 8380:8080 -p 50000:50000 --network=network_172_18 -u root -v /var/run/docker.sock:/var/run/docker.sock -v /Users/kevinmeng/jenkins_home:/var/jenkins_home --restart=always --privileged=true --name=jenkins jenkinsci/blueocean

第一次登录时,需要管理员密码

docker logs jenkins

查看日志获得密码即可。

安装默认插件

设置管理员密码

Jenkins全局工具配置

进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址

 

JDK环境安装

 

 

Maven环境安装

 

 

 

安装Jenkins对应Maven插件

找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本  

插件名称 Maven Integration

 

因为我们一般在本地安装jenkins而不是在生产环境中,所以建议做个host域名映射,例如修改host文件,添加一行:

127.0.0.1 jenkins.fitit100.com

这样我们就可以通过jenkins.fitit100.com:8380访问jenkins了。

下面以一个springboot项目为例子,来演示如何构建docker镜像,并推送到阿里云测试服务器,并在阿里云测试服务器中启动容器。首先新建一个简单的springboot java web项目,在项目跟目录中新建一个dockerfile文件,内容如下:

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/szzgj-user.jar szzgj-user.jar
EXPOSE 8100

#这里启用测试环境的配置文件,当然可以不加--spring.profiles.active=test参数,而是在docker run命令里面加参数,那样更灵活一些。
ENTRYPOINT ["java","-jar","szzgj-user.jar","--spring.profiles.active=test","-c"]

在jenkins中新建一个maven项目。如下图:

设置git代码库连接

设置触发条件

maven build设置

这里的username和password是阿里云docker的部署用户名和密码,不是登录用户名和密码哦。

docker镜像构建成功并推送到阿里云后,运行脚本删除旧版容器,并启动新版容器。

代码如下:

docker login --username=xxxx --password=xxxx registry.cn-shanghai.aliyuncs.com
docker pull registry.cn-shanghai.aliyuncs.com/szzgj/xxx:latest
# 删除Docker容器
cid=$(docker ps | grep xxx |awk '{print $1}')
if [ x"$cid" != x ]
    then
    docker rm -f $cid
fi

docker run --name=szzgj-user --restart=always --network=network_172_19 -d -p 8100:8100 registry.cn-shanghai.aliyuncs.com/szzgj/xxx:latest

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章