一、docker安装Jenkins
docker pull jenkins/jenkins:lts-jdk11
# 将 jenkins 数据存储/home/jenkins_home在主机上。确保/home/jenkins_home容器中的 jenkins 用户可以访问(jenkins 用户 - uid 1000)或docker run时加上-u some_other_user参数
mkdir -p /home/jenkins_home
chown -R 1000:1000 /home/jenkins_home # 若是运行jenkins时使用root用户则跳过这步
# -v /home/test_jenkins:/home/test_jenkins,将jenkins拉取的数据存到主机/home/test_jenkins目录
docker run -d -p 8080:8080 -p 50000:50000 --restart=always --name jenkins --user root -v /home/jenkins_home:/var/jenkins_home -v /home/test_jenkins:/home/test_jenkins jenkins/jenkins:lts-jdk11
在映射目录下查看首次生成的管理员密码: cat /home/jenkins_home/secrets/initialAdminPassword
或者在Jenkins日志中查看:docker logs jenkins
web访问:
二、配置SSH
在jenkins
系统管理
>
系统设置
往下拉找到
publish over ssh,
没有的话到
系统设置
>
插件中心
下载
publish over ssh
插件
配置项包括Passphrase/Password(远程SSH登录linux的密码)、SSH Servers(Name、Hostname、Username、Remote Directory),Remote Directory(远程操作目录,该配置很关键,远程安装部署容器就通过这个目录操作)。最后通过Test Configuration来测试一下SSH是否能够远程访问。以下是我配置的SSH Servers, 其中Remote Directory配置为 /home:
准备在75环境上部署测试。
三、创建Jenkins项目
构建过程:
在测试服务器75上查看:
四、过程问题
4.1、错误:GnuTLS recv error (-110): The TLS connection was non-properly terminated.
解决:
apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
五、参考