Docker环境Jenkins连接gitee自动构建Gradle项目
系列文章导读
CentOS Docker 安装并用国内镜像加速(阿里云、网易)
Docker环境Jenkins及Gitlab安装集成
Idea下Gradle打包Springboot项目的Docker镜像
Docker环境Jenkins自动部署Gradle构建的Docker项目
环境 | 版本/说明 |
---|---|
公网服务器一台 | gitee需要post仓库变更所以必须要有公网IP(域名可选) |
Docker | 18.09.6 |
Jenkins | 2.235.5 (Docker镜像) |
Gradle | 6.4.1 (后面可以从Jenkins里面自动下载,速度还可以) |
gitee | 账号和一个可以跑的项目仓库 (最好是依赖少一点的) |
Gitee 相关配置
生成私人令牌
Jenkins_37">配置Jenkins
因为国内访问不了Jenkins plugin网站,这里我们直接从国内镜像网站手动下载。
Jenkins的全局工具一般不会经常变动,没必要的话不建议折腾去修改plugin网站配置。
安装Gitee插件
Jenkins Gitee Plugin
安装Gradle插件
Jenkins Gradle Plugin
两个插件都是一样的安装步骤
配置Gitee连接
获取地址 https://gitee.com/profile/personal_access_tokens
配置Gradle
Gradle会在build项目的时候自动下载,所以这里只是指定了一下版本。
Jenkins_69">配置Jenkins项目
新的项目
项目configure
General
Source Code Management
配置WebHook
Jenkins_83">Jenkins
Gitee 仓库配置
build配置
Jenkins在构建完项目之后默认会将带起来的子进程全部杀死。这里我们使用命令将我们的Web项目不被自动清理。
BUILD_ID=DONTKILLME
自动运行脚本
startup.sh
文件内容
#!/bin/sh
ps
ps -ef|grep -w 'gs-spring-boot'|grep -v grep|cut -c 1-6 | xargs kill -9
ps
BUILD_ID=DONTKILLME
nohup java -jar build/libs/gs-spring-boot-docker-0.1.0.jar &
Jenkins构建项目时的“当前目录”为项目的根目录,请大家知悉。
我们这里就是
/var/jenkins_home/workspace/Gradle-Docker-Springboot
构建项目测试
手动部署项目
提交代码自动构建项目
往Gitee push代码
Jenkins hook到代码变更自动构建项目