使用容器jenkins+docker自动化部署项目

一、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访问:
使用容器jenkins+docker自动化部署项目_第1张图片

二、配置SSH

参考:   Jenkins实现文件上传到远程服务器(Publish Over 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:
使用容器jenkins+docker自动化部署项目_第2张图片
准备在75环境上部署测试。

三、创建Jenkins项目

使用容器jenkins+docker自动化部署项目_第3张图片

使用容器jenkins+docker自动化部署项目_第4张图片
使用容器jenkins+docker自动化部署项目_第5张图片
使用容器jenkins+docker自动化部署项目_第6张图片
构建过程:
使用容器jenkins+docker自动化部署项目_第7张图片
使用容器jenkins+docker自动化部署项目_第8张图片
使用容器jenkins+docker自动化部署项目_第9张图片
使用容器jenkins+docker自动化部署项目_第10张图片
在测试服务器75上查看:
使用容器jenkins+docker自动化部署项目_第11张图片
使用容器jenkins+docker自动化部署项目_第12张图片

四、过程问题

4.1、错误:GnuTLS recv error (-110): The TLS connection was non-properly terminated.

使用容器jenkins+docker自动化部署项目_第13张图片
解决:
apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000

五、参考

Jenkins自动化部署容器_weixin_34320724的博客-CSDN博客https://blog.csdn.net/weixin_34320724/article/details/89593071
Git Clone错误解决:GnuTLS recv error (-110): The TLS connection was non-properly terminated._欧晨eli的博客-CSDN博客https://blog.csdn.net/xiao_yi_xiao/article/details/119336041
【问题】忘记Jenkins管理员密码的解决办法_fastjson_的博客-CSDN博客_jenkins管理员密码https://blog.csdn.net/bbj12345678/article/details/123752045

你可能感兴趣的:(k8s+docker,git,Jenkins,jenkins,docker,自动化)