# Jenkins+Gitee持续集成
### docker-compose部署jenkins
创建两个目录:`/root/data/docker_data/jenkins`和`/root/data/docker_data/jenkins/data`
修改权限:`chmod -R 777 /root/data/docker_data/jenkins/`
在`/root/data/docker_data/jenkins/`下创建`docker-compose.yml`:
```yml
version: '3'
services: # 集合
docker_jenkins:
restart: always # 重启方式
image: jenkins/jenkins:lts # 指定服务所使用的镜像 在这里我选择了 LTS (长期支持)
container_name: jenkins # 容器名称
user: root # 避免权限问题
ports: # 对外暴露的端口定义
- 8082:8080 # 访问Jenkins服务端口
- 50000:50000
volumes: # 卷挂载路径
- ./data:/var/jenkins_home # 将当前目录下的data文件夹挂载到容器内的/var/jenkins_home
- /etc/localtime:/etc/localtime
- /opt/apache-maven-3.8.6:/opt/apache-maven-3.8.6 # MAVEN_HOME为/opt/apache-maven-3.8.6
- /usr/lib/jvm/jdk1.8.0_341:/usr/lib/jvm/jdk1.8.0_341 # JAVA_HOME为/usr/lib/jvm/jdk1.8.0_341
```
**建议使用本地的`maven`和`jdk`环境**
前台启动容器,测试是否有错误
```sh
docker compose up
```
{{}}
通过浏览器访问`http://192.168.153.130:8082`打开`Jenkins`界面,输入上面的密码,进入管理员界面
{{}}
安装`Jenkins`推荐的依赖
{{}}
创建管理员用户
{{}}
初始化完成:
{{}}
使用`ctrl+c`暂停容器,以后台方式启动容器
```sh
docker compose up -d
```
{{}}
#### 安装必要插件
安装下面两个插件`Gitee`和`Publish Over SSH`
{{}}
{{}}
### 创建项目
创建一个`SpringTest`项目并推送到`Gitee`
{{}}
### 配置Jenkins环境
首先,为了不继续使用初始密码,先修改一下密码:
{{}}
**修改系统配置:**
{{}}
配置下面三个环境变量,和`docker-compose.yml`中内容**保持一致**
{{}}
**配置`Gitee`相关环境**
打开[https://gitee.com/profile/personal_access_tokens](https://gitee.com/profile/personal_access_tokens)获取私人令牌(token)
{{}}
创建一个`Gitee API令牌`
{{}}
测试配置
{{}}
**修改全局工具配置:**
{{}}
{{}}
{{}}
### 创建一个自动化任务
{{}}
#### 配置任务
配置仓库信息:
{{}}
构建的任务
{{}}
开始构建
{{}}
构建成功
{{}}
{{}}
打开`/root/data/docker_data/jenkins/data/workspace/SpringTest/target`,运行`SpringTest`项目
```sh
java -jar SpringTest-0.0.1-SNAPSHOT.jar
```
{{}}
访问测试接口`http://192.168.153.130:8080/index`,成功!
{{}}
### 关于WebHooks自动部署
**由于需要使用到域名和服务器,后续再更新!**
{{< admonition type="quote" title="参考链接">}}
[1.Jenkins集成Gitee持续集成](https://blog.hikki.site/83f82fd1.html)
{{< /admonition >}}