一.安装部署
# 关闭防火墙 systemctl stop firewalld
# 开机自动关闭 systemctl disable firewalld
# 强制关闭selinux vim /etc/sysconfig/selinux SELINUX=disabled
# 查看selinux策略是否被禁用(Disabled) getenforce
# 下载yum源,并在本地导入yum源,验证yum仓库的安全性 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安装 java 环境 yum install -y java # 安装jenkins yum install -y jenkins
# 添加新用户 useradd deploy
# 编辑 jenkins 配置文件 vim /etc/sysconfig/jenkins JENKINS_USER="deploy" JENKINS_PORT="8080"
# 改编jenkins默认的家目录,以及log日志目录的属组和属组权限 chown -R deploy:deploy /var/lib/jenkins chown -R deploy:deploy /var/log/jenkins
# 启动jenkins服务 systemctl start jenkins
# 确认服务是否正常启动 lsof -i:8080 # 访问主机的ip:8080 可配置dns访问,这里配置jenkins.example.com
# 解锁jenkins,在服务器找到日志中的密码 cat /var/lib/jenkins/secrets/initialAdminPassword # 如果遇到 Please wait while Jenkins is getting ready to work...(Jenkins访问资源慢的问题) vim /var/lib/jenkins/hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/</url> </site> </sites>
二.jenkins构建配置
1.freestyle job和pipeline job的区别
freestyle job 1.需要在页面添加模块配置项与参数完成配置 2.每个job仅能实现一个开发功能 3.无法将配置代码化,不利于job配置迁移与版本控制 4.逻辑相对简单,无需额外学习成本 pipeline job 1.所有模块,参数配置都可以体现为一个pipeline脚本 2.可以定义多个stage构建一个管道工作集 3.所有配置代码化,方便job配置迁移与版本控制 4.需要pipeline脚本语法基础
2.环境配置
# 配置 Jenkins server 本地 Gitlab DNS,如果使用域名登录就绑定下本机的host
# 安装 git client, curl 工具依赖 yum install -y git curl
# 关闭系统 Git http.sslVerify 安全认证 su - deploy $git config --global http.sslVerify false
# 添加 Jenkins 后台 Git client user 与 email 进入 Jenkins -> Manage Jenkins, Git Plugin 加入user.name为root user.email为root@example.com
如果没有 Git Plugin 的话需要进入的 Jenkins -> Manage Jenkins -> Manage Plugins -> Available 搜索 Git Plugin 找到 Git 安装插件后重启
# 添加 Jenkins 后台 Git Credential 凭据 进入 Manage Jenkins, Manage Credentials, 进入 Stores scoped to Jenkins 的Jenkins 添加凭据,输入 root和密码
插图
配置邮箱
配置凭证
全局凭证
添加凭证
添加root凭证
3.freestyle job构建配置