Skip to content

Commit

Permalink
add JenkinsSlave容器化配置.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Zeyang authored and Zeyang committed Aug 23, 2019
1 parent d2a2cb5 commit b208f6f
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 2 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,9 @@
- [9.1 Jenkins用户授权接口](chapter/Jenkins脚本自动授权.md)

## 第10章 容器部署
- [10.1 基于OpenShift部署Jenkins](chapter/Jenkins-in-Openshift.md)
- [10.2 基于OpenShift部署构建资源池](chapter/openshift-jenkins/基于OpenShit搭建Jenkins构建资源池.md)
- [10.1 JenkinsSlave容器化配置](chapter/JenkinsSlave容器化配置.md)
- [10.2 基于OpenShift部署Jenkins](chapter/Jenkins-in-Openshift.md)
- [10.3 基于OpenShift部署构建资源池](chapter/openshift-jenkins/基于OpenShit搭建Jenkins构建资源池.md)


## 第11章 其他配置
Expand Down
75 changes: 75 additions & 0 deletions chapter/JenkinsSlave容器化配置.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Jenkins Slave容器化配置

## 配置说明
- 需要下载jdk、maven/等构建工具
- 需要下载jenkins站点中agent.jar


## Dockerfile

```
FROM jenkinsci/slave
ARG user=jenkins
ARG agent_workdir=/home/${user}/agent
ENV jenkins_script=/usr/local/bin/
USER root
#替换JDK
ADD buildtools/jdk-8u121-linux-x64.tar.gz /usr/local/
#替换agent.jar和启动脚本
RUN rm -fr ${agent_workdir}/agent.jar
COPY agent.jar ${agent_workdir}/agent.jar
COPY jenkins-slave ${jenkins_script}/jenkins-slave
RUN chown ${user} ${agent_workdir}/agent.jar \
&& chown ${user} ${jenkins_script}/jenkins-slave
#增加构建工具
ADD buildtools/apache-maven-3.5.0.tar.gz /usr/local/
ADD buildtools/sonar-scanner.tar.gz /usr/local/
ADD buildtools/apache-ant-1.9.9-bin.tar.gz /usr/local/
ADD buildtools/apache-jmeter-5.1.1.tgz /usr/local/
ENV JMETER_HOME=/usr/local/apache-jmeter-5.1.1/
ENV ANT_HOME=/usr/local/apache-ant-1.9.9
ENV M3_HOME=/usr/local/apache-maven-3.5.0
#Jmeter插件
COPY jmeter-plugins/ant-jmeter-1.1.1.jar ${ANT_HOME}/lib/ant-jmeter-1.1.1.jar
COPY jmeter-plugins/fastjson-1.2.9.jar ${JMETER_HOME}/lib/ext/fastjson-1.2.9.jar
COPY jmeter-plugins/jmeter-plugins-cmn-jmeter-0.5.jar ${JMETER_HOME}/lib/ext/jmeter-plugins-cmn-jmeter-0.5.jar
COPY jmeter-plugins/jmeter-plugins-manager-1.3.jar ${JMETER_HOME}/lib/ext/jmeter-plugins-manager-1.3.jar
COPY jmeter-plugins/jmeter-results-detail-report_21.xsl ${JMETER_HOME}/extras/jmeter-results-detail-report_21.xsl
COPY jmeter-plugins/jmeter-results-shanhe-me.xsl ${JMETER_HOME}/extras/jmeter-results-shanhe-me.xsl
COPY jmeter-plugins/jmeter.properties ${JMETER_HOME}/bin/jmeter.properties
COPY jmeter-plugins/jmeter-plugins-json-2.7.jar ${JMETER_HOME}/lib/ext/jmeter-plugins-json-2.7.jar
COPY jmeter-plugins/Tools.jar ${JMETER_HOME}/lib/ext/Tools.jar
RUN touch ${JMETER_HOME}/bin/jmeter.log \
&& chmod 777 ${JMETER_HOME}/bin/jmeter.log
#环境变量
ENV JAVA_HOME=/usr/loca/jdk1.8.0_121
ENV PATH=${PATH}:${JAVA_HOME}/bin:${ANT_HOME}/bin:${JMETER_HOME}/bin:${M3_HOME}/bin
CMD ["sh","-x","/usr/local/bin/jenkins-slave"]
```


## Slave启动脚本

```
#!/bin/bash
#env | grep "JENKINS" >>env.txt
env | grep "JENKINS"
echo "[DEBUG] ----nohup java -jar /usr/share/jenkins/agent.jar -jnlpUrl ${JENKINS_URL}/computer/${JENKINS_AGENT_NAME}/slave-agent.jnlp -secret ${JENKINS_SECRET} -workDir /home/jenkins/agent >slave.log & -----"
java -jar /home/jenkins/agent/agent.jar -jnlpUrl ${JENKINS_URL}/computer/${JENKINS_AGENT_NAME}/slave-agent.jnlp -secret ${JENKINS_SECRET} -workDir "/home/jenkins/agent "
```

0 comments on commit b208f6f

Please sign in to comment.