JENKINS自动化CI/CD(一)

• CI/CD概述

• Jenkins介绍

• Jenkins部署

• Jenkins基本配置

• Jenkins核心功能应用

• 综合案例

CI/CD介绍 

什么是Jenkins?
Jenkins是一款开源 CI&CD 系统,用于自动化各种任务,包括构建、测试和部署。

Jenkins Redhat Packages安装

[root@linux-node1 /]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@linux-node1 /]# uname -r
3.10.0-123.el7.x86_64
[root@linux-node1 /]#  ifconfig eth0|sed -n "2p"|awk -F '[ :]+' '{print $3}'
192.168.230.130

To use this repository, run the following command:


  sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificat

  sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

If you've previously imported the key from Jenkins, the rpm --import will fail because you already have a key. Please ignore that and move on.

yum install fontconfig java-11-openjdk
yum install jenkins
[root@linux-node1 /]# systemctl start jenkins

让Jenkins UI变好看点

地址:http://afonsof.com/jenkins-material-theme 
安装插件 Simple Theme

 

 

 修改清华源

[root@linux-node1 updates]# pwd
/var/lib/jenkins/updates
  
sed -i 's/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && \
sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

重启生效

http://192.168.230.130:8080/restart

安装中文语言包,重启生效

Localization: Chinese (Simplified)

 离线安装插件

离线插件包推荐下载点:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/

Plugin Manager-高级

 

 项目管理:丢弃旧构建,参数化构建

gitlab里创建群组,创建项目和首页源代码文件,需求:把这源代码部署到服务器,实现自动化更新

创建项目主要有两种风格:
• 自由风格(经典风格)
• 流水线

 

choice parameter 选项参数,参数化构建主要是配置一些交互,可以让用户去选择

 

 

 选项名称env名称相当于是一个变量名,选择哪一个会把值赋予给变量

 

还有个比较常用的string parameter  字符参数

默认是master分支,可以选择其它分支

这两种比较常用内置的参数化构建,通过人工的交互能与jenkins做一些相应的行为

 

项目管理:自动拉取源代码

自动化部署项目流程:
1.拿到git地址(权限)
2.拉取代码 clone
3.源码编译构建
4.构建文件拷贝到远程web服务器
5.备份现在的程序文件
6.部署新的程序
7.重启,测试访问

 创建一个新用户zsq,并加入到群组

以zsq用户登陆

[root@linux-node1 ~]# cd /root/portal/   #进入到项目
[root@linux-node1 portal]# ls
index.html  README.md
[root@linux-node1 portal]# git branch dev #创建dev分支
[root@linux-node1 portal]# git checkout dev #切换dev分支
[root@linux-node1 portal]# vim login.html  #创建测试页面
[root@linux-node1 portal]# git add . #提交到暂存区
[root@linux-node1 portal]# git commit -m 'login' #提交到本地仓库

[root@linux-node1 portal]# git push origin dev 推送到远程仓库

查看gitlab已有dev分支

jenkins默认没有安装插件git插件,需要先安装才有git选项,然后用户密码认证

 

 确定能够自动拉取代码,通过参数化的输入能拉对应的分支

在这里也可以引用变量名

 

 

 验证

选择master分支,pwd显示当前的工作命名空间

 

 选择dev分支,有login.html文件

 

 内置变量

自动执行该项目

定时构建,不管有没有更新都会执行

 

 

 轮询 SCM,有更新才会执行

 

posted @ 2022-05-31 10:04  w787815  阅读(187)  评论(0编辑  收藏  举报