第三篇 Jenkins使用

591 阅读2分钟

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

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