OPS—Docker下安装Jenkins

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

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注