Docker下运行Jenkins
创建一个运行脚本(jenkins.sh),以备下次重新启动时使用:
#!/bin/bash
/usr/bin/docker run --name jenkins-docker \
--restart=always \
-p 8080:8080 \
-p 50000:50000 \
-v /opt/dockers_data/jenkins/jenkins_data:/var/jenkins_home \
-d jenkins/jenkins
创建Jenkins的数据存储目录并授权:
mkdir -p /opt/dockers_data/jenkins/jenkins_data
chown 1000.1000 /opt/dockers_data/jenkins/jenkins_data/
运行脚本并查看运行情况
/bin/bash jenkins.sh
docker ps -a

Jenkins的一些设置
1、设置jdk与maven
使用Jenkins编译java项目就需要jdk与maven环境,配置它们有两种方式,一种是在Jenkins设置oracle的账号然后由Jenkins自动下载对应的版本。还有就是将这两个软件下载并修改(maven需要修改配置)后,然后在Jenkins中进行手动配置,建议使用后一种。
由于是使用docker版本,因此这两个软件我们就放在/var/jenkins_home映射的本地目录下。



maven的setting.xml相关配置及说明:
<!-- maven下载的临时包也放在映射目录中,由于是在Docker内部运行Jenkins,因此目录为Jenkins容器中的目录/var/jenkins_home/ -->
<localRepository>/var/jenkins_home/mvnrepository</localRepository>
<!-- 设置Nexus私服账号及密码 -->
<server>
<id>nexus</id>
<username>admin</username>
<password>wfwfwfwfwf</password>
</server>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>wfwfwfwfwf</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>wfwfwfwfwf</password>
</server>
<!-- 设置profile -->
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://192.168.3.31:30081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
</profile>
<!-- 设置当前profile -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
2、解决使用git-ssh克隆项目中host key错误问题
如果使用gerrit作为版本管理工具,那么我们通过会使用ssh的git路径。我们配置完Jenkins的用户及私钥后会报如下错误。

这是由于gerrit的服务器中的ssh服务使用了host key验证。
解决办法1:
使用命令行工具进入到jenkins的docker容器中,执行如下操作:
注意:如果不是docker,而是kvm版本的jenkins,那么请一定要在Jenkins服务器下的jenkins的用户下执行如下操作。
cat > ~/.ssh/config <<EOF
Host *
StrictHostKeyChecking no
EOF

退出(exit)后刷新Jenkins的相关配置页即可。
解决办法2:
Configure Global Security –> Git Host Key Verification Configuration –> No Verfication

