jenkins好处多多,这时不再赘述!
先准备Java环境,可参考第二篇 创建FTP服务器
Jenkins官网文档
1. 备轿
- 打扫庭院,做个装修 添加Jenkins存储库到yum的repo中
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo #下载依赖
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key #导入秘钥
- 安装
yum install jenkins
然并卵,自动安装不成功
- 手动安装 接出来
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.274-1.1.noarch.rpm
掀开红盖头,抱上车
rpm -ivh jenkins-2.274-1.1.noarch.rpm
- 装修一下房间 手动安装的目录为
/usr/lib/jenkins/jenkins.war:WAR包
/etc/sysconfig/jenkins:配置文件
/var/lib/jenkins/:默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log:Jenkins日志文件
jenkins的基础配置在/etc/init.d/jenkins中
- 动起来
sudo service jenkins start
- 瞅一眼, http://101.37.245.158:8080,看到了,看到了!
2.开个户
- 首次打开jenkins,复制
/var/lib/jenkins/secrets/initialAdminPassword中的密码进行登录 - 创建账户,如zhy,然后输入密码
- 配置JAVA_HOME
Manage Jenkins->Global Tool Configuration->JDK
配置JDK,
输入名称(如local_java)及JAVA_HOME路径如下:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-1.el8_3.x86_64
3.SSH配置
用于部署项目
Dashboard -> Manage Jenkins -> Plugin Manager 安装Publish Over SSH
Dashboard -> System configuration配置SSH Servers
输入举例如下:
Name: nginx主机
HostName: 101.37.245.158
Username: root #并输入密码,供测试
Remote Directory: /usr/local/web
4.创建工作(以vue项目为例)
- 创建条目
输入
门户网站,选择Freestyle project - 源码管理
选择git,输入
https://github.com/hengyizhangcn/portalSite.git
然后选择Credentials(这里出现的Credentials为当前电脑钥匙串里面的配置) - 分支选择
由master改为main(此点很重要,由于美国
黑命贵运动,github新建的项目主分支为main) - 构建
npm install
npm run build
tar -zcvf portalSite.tar.gz ./dist #文件夹没法传输
- 部署
Post-build Actions -> Send build artifacts over SSH
选择部分创建的主机
Transfers设置
Source files:
portalSite.tar.gz
Remove prefix、Remote directory这里略过; Exec command执行脚本
base_dir=/usr/local/web
target_dir=portalSite
cd $base_dir
rm -rf ${target_dir}
tar -xf ${target_dir}.tar.gz
rm -f ${target_dir}.tar.gz
mv dist/ ${target_dir}/
/usr/local/nginx/sbin/nginx -s reload #刷新nginx服务
5. SSL证书配置
从ssl证书颁发机构获取jks证书文件
chown -R jenkins: jenkins/
chmod 700 jenkins/
chmod 600 jenkins/server.jks
编辑/etc/sysconfig/jenkins配置文件
JENKINS_HTTPS_PORT="8443"
JENKINS_HTTPS_KEYSTORE="/etc/jenkins/jenkins.jks"
偶遇
- 无法安装jenkins
Errors during downloading metadata for repository 'jenkins':
- Curl error (28): Timeout was reached for https://pkg.jenkins.io/redhat-stable/repodata/repomd.xml [Operation timed out after 30000 milliseconds with 0 out of 0 bytes received]
- Multiple security vulnerabilities in Jenkins 2.274 and earlier, LTS 2.263.1 and earlier