编程语言
首页 > 编程语言> > Python/Jenkins基础

Python/Jenkins基础

作者:互联网

一.Jenkins基础

## 1. Jenkins简介

Jenkins概述

• Jenkins是由java编写的一款开源软件
• 作为一款非常流行的CI(持续集成)工作,用于构建和测试各种项目
• Jenkins 的主要功能是监视重复工作的执行,例如软件工程的构建或在 cron下设置的 jobs

**它是当前最流行的一款集成(CI) 工具.
自动化运维平台: docker/ansible/jenkins/git

持续集成

• 持续集成(CI)是当下最为流行的应用程序开发实践方式
• 程序员在代码仓库中集成了修复bug、新特性开发或是功能革新
• CI工具通过自动构建和自动测试来验证结果。这可以检测到当前程序代码的问题,迅速提供反馈

在这里插入图片描述

Jenkins特点

• 简单、可扩展、用户界面友好
• 支持各种SCM(软件配置管理)工具,如SVN、GIT、CVS等
• 能够构建各种风格的项目
• 可以选择安装多种插件
• 跨平台,几乎可以支持所有的平台

2.安装Jenkins

2.1环境准备:

已有服务器:
192.168.1.11 (程序员服务器)
192.168.1.12(gitlab服务器)
准备一台虚拟机,安装jenkins
Jenkins是java程序写的,所以要安装java
虚拟机需要能够访问互联网
虚拟机需要能够访问gitlab
下载jenkins
虚拟机: 192.168.1.13

**## ]# scp '/root/桌面/jenkins-2.177-1.1.noarch.rpm' root@192.168.1.13:/root/ 

安装软件包:

[root@roo~]# ssh 192.168.1.13**
[root@node3]# yum  -y install java-1.8.0-openjdk
[root@node3]# yum -y install tomcat
[root@node3~]# rpm -ivh jenkins-2.177-1.1.noarch.rpm 

启动服务

[root@node3 ~]# systemctl restart jenkins                 
[root@node3 ~]# systemctl enable jenkins
[root@node3 ~]# netstat -nutlp | grep 8080

访问jenkins的8080端口

[root@node3 ~]# firefox 192.168.1.13:8080 

初始化Jenkins

• Jenkins默认运行在8080端口

在这里插入图片描述

[root@node3 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
0300cdfb34884e86b45e50ee744753c3

安装插件:
注意:
在安装插件页面,选择”选择插件来安装”,然后点击”无”.因为此时安装插件将
会访问国外站点安装,速度慢。将来改成国内镜像站点安装。 “创建第一个管理员用户”页面,点击右下角的“使用admin”
进入页面后,先点击右上角的“admin”三角号的下接菜单选configure。在此页面改密码。
在这里插入图片描述
在这里插入图片描述
管理用户

• 可以直接使用Admin登陆
在这里插入图片描述
完成安装
• 安装成功如下图所示:

在这里插入图片描述

.安装插件:*

在首页上点击manage jenkins -> manage plugins -> advanced -> update site中url填写:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json->submit

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
url填写:

在这里插入图片描述

点击Available选项卡,搜索找到[Localization: Chinese (Simplified),勾选左侧的复选框,该插件用于中文支持。
- 点击Install without restart
在这里插入图片描述

*- 勾选Restart jenkins…

标题安装git parameter插件。用于访问git**

在这里插入图片描述

二.准备git仓库

CI流程:

.2.1. 程序员编写代码,并推送到服务器

程序员创建软件项目

[root@room9pc01]#ssh 192.168.1.11
[root@node1 ~]# git init myweb
初始化空的 Git 版本库于 /root/myweb/.git/


[root@node1 ~]# cd myweb
[root@node1 myweb]# echo '<h1>my web site</h1>' > index.html
[root@node1 myweb]# git add .
[root@node1 myweb]# git commit -m "my web 1.0"
[root@node1 myweb]# git tag 1.0                     # 添加标记,标记为1.0版本
[root@node1 myweb]# git tag                         # 查看所有标记
1.0

2.2在gitlab上创建名为myweb的项目 (192.168.1.12)

  1. 通过root用户创建
  2. 项目属于devops组
  3. 项目是公开的
  4. 昨天新建的用户成为该项目的主程序员
    [root@gitlab]#firefox 192.168.1.12/

2.2.1创建群组
• 创建名为devops的群组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.2.2创建myweb项目
• 创建名myweb的项目
在这里插入图片描述
在这里插入图片描述
2.2.4创建用户
• 为myweb项目创建主程序员用户
在这里插入图片描述
• 为myweb项目创建主程序员用户
在这里插入图片描述
在这里插入图片描述
用户生成ssh密钥

[root@room9pc01 ]#ssh 192.168.1.11                  (上传代码的程序服务器)
[root@node1 ~]#	ssh-keygen -t	rsa -C	"LXH@tedu.cn"	-b	4096
[root@node1 ~]#	cat ~/.ssh/id_rsa.pub

点击成员,选择扮演角色----点击SSH秘钥
在这里插入图片描述
在这里插入图片描述2.2.5程序员将代码上传到gitlab服务器

[root@room9pc01 ]#ssh 192.168.1.11  
[root@node1 myweb]# git remote rename origin old-origin
[root@node1 myweb]# git remote add origin  git@192.168.1.12:devops/myweb.git
[root@node1 myweb]# git push -u origin --all
[root@node1 myweb]# git push -u origin --tags 

后期创建项目上传代码:

[root@node1 myweb]# cp -r /root/devops/  .
[root@node1 myweb]# git status
[root@node1 myweb]# git commit -m "devops 1.0"                
[root@node1 myweb]# git tag 1.1                           //添加标记,标记为1.0版本
[root@node1 myweb]# git tag 
[root@node1 myweb]# git remote rename origin old-origin
[root@noed1 myweb]# git remote add origin git@192.168.1.12:devops/myweb.git
[root@cxy myweb]# git push -u origin --all
[root@cxy myweb]# git push -u origin --tags                //推送代码版本标记

三 .应用jenkins

• 为了使得Jenkins可以使用git的tag,需要下载gitparameter插件
• 点击“系统管理”->“管理插件”
在这里插入图片描述
3.1 jenkins服务器下载代码
在jenkins服务器上安装git

[root@node3 ~]# yum install -y git

3.2.在jenkins上创建一个自由风格的项目
创建自由风格项目:
Genereral -> This project is parameterized -> 添加参数: git parameter -> name: webver, Parameter Type: Branch or Tag, Default Value: origin/master

• 新建任务
在这里插入图片描述
• 选择自由风格
在这里插入图片描述
设置参数
• 添加Git Parameter参数
在这里插入图片描述
2.源码管理
• 源码采用git
源码管理:git -> Repository URL: http://192.168.1.12/devops/myweb.git -> Branch Specifier (blank for ‘any’): $webver
在这里插入图片描述
3. 基础构建已经可以完成,点击保存按钮。
4.构建工程。
点击工程左侧的Build with Parameters。默认情况下,软件将会下载到/var/lib/jenkins/workspace目录。

4.1点击1.0版本->开始构建
在这里插入图片描述
在这里插入图片描述
4.2为下载的每个版本创建一个子目录
删除jenkins的下载目录

[root@room9pc01]#ssh 192.168.1.13
[root@node3 ~]# ls /var/lib/jenkins/workspace/
[root@node3~]# rm -rf /var/lib/jenkins/workspace/webver/

修改build-myweb工程。
在这里插入图片描述
4. 3. 保存后,重新构建测试
在这里插入图片描述
在这里插入图片描述
jenkins服务器为了方便最终的应用服务器下载,把软件打包压缩放到web目录下
1.安装apache

[root@node3 ~]# yum install -y httpd
[root@node3 ~]# systemctl start httpd
[root@node7 ~]# systemctl enable httpd

2.规划apache web服务器目录和文件
/var/www/html/deploy/lastver文件: 用于存储上一个版本号
/var/www/html/deploy/livever文件:用于存储当前版本号
/var/www/html/deploy/packages目录:用于保存软件的各个版本的压缩包和md5值

[root@node3 ~]# mkdir -p /var/www/html/deploy/packages

3.修改jenkins工程-----> 构建 -> 增加构建步骤 -> execute shell ->
拷贝版本文件到web目录
删除版本库文件
打包软件
删除软件目录,因为只保留压缩包即可
计算压缩包的md5值
将livever内容写到lastver
更新livever
在这里插入图片描述
4. 修改/var/www/html/deploy属主属组

[root@node7 ~]# chown -R jenkins.jenkins /var/www/html/deploy/
  1. 构建工程,测试。
    在这里插入图片描述

    [root@node3 ~]# ls  /var/www/html/deploy/packages/
         myweb-1.0
    

应用服务器自动化部署流程
/var/www/download: 用于保存下载的软件包
/var/www/deploy:用于保存livever版本文件和解压的软件包
/var/www/html/xxxx:指向某一版本目录的链接文件

发布应用:
编写脚本:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:myweb,git,Python,基础,192.168,jenkins,node1,Jenkins,root
来源: https://blog.csdn.net/lxh2019514/article/details/96424529