Jenkins服务器的部署与简单使用
Jenkins安装
安装依赖:
https://www.jenkins.io/zh/doc/book/installing/ #CPU、内存、磁盘
安装Java 8、在2.361.1及以上版本开始要求Java 11:apt install openjdk-11-jdk
官网下载地址:Debian Jenkins Packages
二进制安装包:
dpkg -i jenkins_2.361.2_all.deb && systemctl stop jenkins
修改文件:vim /lib/systemd/system/jenkins.service
User=root
Group=root
JAVA_ARGS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true" #关闭跨站请求伪造保护(CSRF)保护
重启:systemctl daemon-reload && systemctl restart jenkins.service
安装成功
输入ip地址+8080端口号 && 使用 /var/lib/jenkins/secrets/initialAdminPassword获取密码登录
选择推荐安装的插件
创建用户
实例配置不要动
此时配件不会生效,需要重新启动一下:systemctl restart jenkins.service
jenkins邮箱通知配置:
jenkins的使用
(1) 新建任务
(2) 构建步骤,选择shell
(3) 点击立即构建
(4) 构建和GitLab仓库免秘钥认证(以非交互式的实现代码克隆)
获取公钥:cat /root/.ssh/id_rsa.pub
放入GitLab
jenkins添加私钥cat /root/.ssh/id_rsa
再次添加则如下:
构建成功
案例:编写脚本,实现代码clone、代码打包、镜像构建及镜像更新的完整流水线功能
(1) 在Windows上将GitLab中app1代码克隆下来,并修改代码
(2)上传至GitLab
(3) 在web1服务器上创建了一台nginx服务器 ---配置免秘钥登录
(4) 在jenkins上输入脚本命令
cd /var/lib/jenkins/workspace/test-job1/
scp index.html 10.247.8.55:/var/www/html/
注:前面已经配置好自动拉取GitLab仓库的代码
(5)进项代码构建,进入nginx界面