#jenkins自动化项目部署实战
-----
## 简介
以下文章只是从入门来说明jenkins的部署过程,仅供新手入门,高手勿喷。
## 安装
命令如下:
- 拉镜像,无需解释
```
docker pull jenkins
```
- 创建挂载路径
```
mkdir /mnt/jenkins
chown -R 1000 /mnt/jenkins
```
- **8080:** 访问网页;**50000:** 配置主从,在slave上构建需映射50000
```
docker run --name jenkins -p 8080:8080 -p 50000:50000 -v /mnt/jenkins:/var/jenkins_home jenkins
```
注:暴露端口根据需要自定义修改。
- 初始密码
```
cat /mnt/jenkins/secrets/initialAdminPassword
```
- 安装推荐插件(前提:服务器配置安全组,开放暴露端口)
访问网页,输入密码,默认以admin进入,会显示推荐插件安装。
另外,Maven项目需要另外下载一个插件方能支持(主要体现在创建项目时,出现Maven选项):
```
Maven Integration plugin
```
**坑点:**
自备梯子,有时网络不佳会导致下载安装失败,可自行截图记住插件,以便之后进入插件管理页面重新下载
## 配置
### 系统管理配置
- Jenkins主页 - 系统管理 - 管理插件
安装如下插件:
```
Maven Integration plugin
```
- Jenkins主页 - 系统管理 - Global Tool Configuration
Add Maven
![](http://image.talkmoney.cn/2018-12-5/jenkins自动化项目部署实战.md/1543998798421.png)
- ssh连接1:服务器本地 && docker容器
- 进入Docker容器,生成 **ssh key**
- copy **id_rsa.pub** 到服务器本机~/.m2/authorized_keys
```
docker exec -it jenkins bash
ssh-keygen
cat ~/.ssh/id_rsa.pub
```
```
echo " id_rsa.pub " >> ~/.m2/authorized_keys
```
- ssh连接2:与Git版本管理工具连接(常见如:Gitlab,Github)
以本人配置的Github举栗子:
进入Github,添加 **ssh key** (docker容器里的 **id_ras.pub** )
### 项目基础配置
- 配置Credentials
![](http://image.talkmoney.cn/2018-12-5/jenkins自动化项目部署实战.md/1543998810393.png)
![](http://image.talkmoney.cn/2018-12-5/jenkins自动化项目部署实战.md/1543998828816.png)
### 常见问题
- 问题一:No valid crumb was included in the request.
![](http://image.talkmoney.cn/2018-12-5/jenkins自动化项目部署实战.md/1543998841258.png)
**解决方案**
去掉“防止跨站点请求伪造”选项。
- 问题二:Host key verification failed.
![](http://image.talkmoney.cn/2018-12-5/jenkins自动化项目部署实战.md/1543998852091.png)
**解决方案**
进入docker容器,执行如下命令:
```
root@IP
```
注:IP依脚本而定。
## 结语
至此,整个docker安装和项目发布过程就描述到这里了,希望对大家有所帮助。