Docker-自动发布
1、Jenkins 安装插件
- GitLab Plugin
- GitLab Hook Plugin
- Gitlab Authentication plugin
- Localization: Chinese (Simplified)
- SSH plugin
- Maven Integration plugin
- JDK Tool Plugin
- Git plugin
2、全局工具配置
对Maven、Jdk、Git、Docker进行配置
3、系统设置
- SSH的配置:是为了我们能够连接到远端主机进行镜像拉取和部署,凭据(Username with password)
- Gitlab的配置:是为了和Jenkins建立关联,凭据(GitLab API token)
4、GITLAB SSH Keys配置
SSH keys allow you to establish a secure connection between your computer and GitLab
5、Gitlab配置webhook
jenkins:构建触发器—>勾选Build when a change is pushed to GitLab–拷贝下GitLab webhook URL和(高级-Generate–Secret token)
gitlab:Project—>Settings—>Integrations—>配置URL(对应jenkins里的GitLab webhook URL)和Secret Token(jenkins生成的Secret token)
配置完成后在gitlab点击test即可看到成功触发了构建,在Jenkins上可以看到构建任务正在执行。
也可以git push,测试jenkin与gitlab自动构建的功能。
注意:jenkins跟gitlab通信本项目采用内网地址,外网有问题请自行查询解决
6、Jenkins项目配置
Pre Steps
if docker ps -a | grep wx-eureka;then
docker stop wx-eureka # 停止容器
docker rm -v wx-eureka # 删除容器
docker rmi 1061271247/wx-eureka #删除镜像
echo “Remove Docker Container: wx-eureka”
fi
Build
clean package -Dmaven.test.skip=true dockerfile:build dockerfile:push
生成镜像并推送到docker host和pom.xml中配置的私服地址
Post Steps
docker run -d --name=wx-eureka -p 2222:2222 1061271247/wx-eureka #启动容器