Skip to content

Commit 62a4b2a

Browse files
committed
2018-02-05
1 parent 3794069 commit 62a4b2a

File tree

1 file changed

+83
-7
lines changed

1 file changed

+83
-7
lines changed

Jenkins-Install-And-Settings.md

Lines changed: 83 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,88 @@
11
# Jenkins 安装和配置
22

3+
## Jenkins 介绍
4+
5+
- 官网:<http://jenkins-ci.org/>
6+
- 官网插件库:<https://plugins.jenkins.io/>
7+
- 官网下载:<https://jenkins.io/download/>
8+
- 官网帮助中心:<https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins>
9+
10+
## Docker 下安装 Jenkins
11+
12+
- 先禁用 selinux
13+
- 编辑配置文件:`vim /etc/selinux/config`
14+
- 把 `SELINUX=enforcing` 改为 `SELINUX=disabled`
15+
- 重启服务器
16+
- 官网下载中有介绍其版本标识:<https://jenkins.io/download/>
17+
- 我们就选用:Long-term Support (LTS)
18+
- 官网关于 Docker 部署也有专门文档:<https://github.com/jenkinsci/docker/blob/master/README.md>
19+
- 先创建一个宿主机以后用来存放数据的目录:`mkdir -p /data/jenkins/jenkins_home`
20+
- 安装镜像(813MB,有点大):`docker pull jenkins/jenkins:lts`
21+
- 查看下载下来的镜像:`docker images`
22+
- 首次运行镜像:`docker run --name jenkins-master -p 8123:8080 -p 50000:50000 -v /etc/localtime:/etc/localtime -v /data/jenkins/jenkins_home:/var/jenkins_home -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai" -d --restart always jenkins/jenkins:lts`
23+
- 这里的 8080 端口是 jenkins 运行程序的端口,必须要有映射的。50000 端口是非必须映射的,但是如果你要用 Jenkins 分布式构建这个就必须开放
24+
- 如果报下面的错误:
25+
26+
```
27+
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied
28+
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
29+
```
30+
31+
- 解决办法:`chown -R 1000:1000 /data/jenkins/jenkins_home`,具体原因:[点击查看](http://www.cnblogs.com/jackluo/p/5783116.html)
32+
- 问题的本质就是,jenkins 镜像中的系统用户是:jenkins,当你进入容器 bash 内,输入:`whoami && id`,你就可以看到他的 uid 是 1000,所以这里拆 chown 1000
33+
- 查看容器运行情况:`docker ps`
34+
- 进入容器中 Jenkins shell 交互界面:`docker exec -it bd290d5eb0d /bin/bash`
35+
36+
## 首次使用 Jenkins / Jenkins 插件推荐
37+
38+
- 首次进入 Jenkins 的 Web UI 界面是一个解锁页面,需要让你输入:Administrator password,这个密码放在:`/var/jenkins_home/secrets/initialAdminPassword`,对我来讲就是:`cat /data/jenkins/jenkins_home/secrets/initialAdminPassword`
39+
- 然后再接下来就是插件的安装,我不推荐直接用它推荐给我们的插件直接安装,而是选择:`Select plugins to install`,我们自己选择插件安装。
40+
- 我的这里的代码仓库是:Gitlab
41+
- 推荐插件
42+
- Publish Over SSH(具体名字要看下)
43+
- Dashbroad View
44+
- Folders View
45+
- OWASP Markup Formatter Plugin
46+
- Build Name Setter Plugin
47+
- build timeout plugin
48+
- Credentials Binding Plugin
49+
- Embeddable Build Status Plugin
50+
- Pipeline
51+
- Build Pipeline Plugin
52+
- Git plugin
53+
- GitLab Plugin
54+
- SSH Slaves plugin
55+
- Matrix Authorization Strategy Plugin
56+
- PAM Authentication plugin
57+
- LDAP Plugin
58+
- Role-based Authorization Strategy
59+
- Email Extension Plugin
60+
- Email Extension Template Plugin
61+
- Mailer Plugin
62+
- NotifyQQ([QQ 消息通知](https://github.com/ameizi/NotifyQQ))
63+
- 钉钉通知([钉钉 消息通知](https://wiki.jenkins.io/display/JENKINS/Dingding+Notification+Plugin))
64+
- oauth(具体名字要看下)
65+
- Build Failure Analyzer 分析构建错误日志并在构建页面显示错误
66+
- SSH plugin 支持通过SSH执行脚本
67+
- Pre SCM BuildStep Plugin 在拉代码之前插入一些步骤
68+
- GitHub API Plugin Github API插件
69+
- GitHub Pull Request Builder Github Pull Request时自动构建
70+
- GitHub plugin Github与Jenkins集成
71+
- GIT client plugin Git客户端插件
72+
- Maven Integration plugin:用于构建 Maven 项目
73+
- Gitlab Hook Plugin:用于触发 GitLab 的一些 WebHooks 来构建项目
74+
- FireLine Plugin:代码规范检查,已经集成了阿里巴巴的代码规约(P3C)检查
75+
76+
## Docker 的 Jenkins 与 Docker 结合使用
77+
78+
- 运行镜像命令:`docker run --name jenkins-master -p 8123:8080 -p 50000:50000 -v /etc/localtime:/etc/localtime -v /data/jenkins/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai" -d --restart always jenkins/jenkins:lts`
79+
- 比上面多了一步:`-v /var/run/docker.sock:/var/run/docker.sock`
80+
- 这样,在 jenkins 里面写 shell 脚本调用 docker 程序,就可以直接调用宿主机的 docker 了。
81+
382

483
## Jenkins 安装
584

685
- Jenkins 安装
7-
- 官网:<http://jenkins-ci.org/>
8-
- 官网帮助中心:<https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins>
986
- 官网使用 Tomcat 部署方式指导:<https://wiki.jenkins-ci.org/display/JENKINS/Tomcat>
1087
- 此时(20160207) Jenkins 最新版本为:**1.647**
1188
- JDK 最低要求是 JDK 7,官网推荐是 JDK 8
@@ -30,16 +107,15 @@
30107
CATALINA_OPTS="-server -DJENKINS_HOME=/root/.jenkins -Xms528m -Xmx528m -XX:PermSize=256m -XX:MaxPermSize=358m"
31108
export CATALINA_OPTS
32109
```
33-
34-
110+
35111
- Jenkins 各个组件配置:
36112
- 访问:<http://192.168.0.110:8080/configure>
37-
38-
39113
- 其他问题
40114
- 如果访问的时候报这个异常:`java.net.UnknownHostException`,可以查看这篇文章:<http://stackoverflow.com/questions/4969156/java-net-unknownhostexception>
41115
42116
43117
## 资料
44118
45-
- <http://stackoverflow.com/questions/4969156/java-net-unknownhostexception>
119+
- <http://stackoverflow.com/questions/4969156/java-net-unknownhostexception>
120+
- <https://www.jianshu.com/p/b50e679e2409>
121+
- <http://xkcoding.com/2018/01/04/devops-jenkins.html>

0 commit comments

Comments
 (0)