首页 / PYTHON / Python/Jenkins基础
Python/Jenkins基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python/Jenkins基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6144字,纯文字阅读大概需要9分钟。
内容图文
![Python/Jenkins基础](/upload/InfoBanner/zyjiaocheng/749/2b38eef72ff34e9c9f9b759a68f9f72a.jpg)
一.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)
- 通过root用户创建
- 项目属于devops组
- 项目是公开的
- 昨天新建的用户成为该项目的主程序员
[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/
-
构建工程,测试。
[root@node3 ~]# ls /var/www/html/deploy/packages/ myweb-1.0
应用服务器自动化部署流程
/var/www/download: 用于保存下载的软件包
/var/www/deploy:用于保存livever版本文件和解压的软件包
/var/www/html/xxxx:指向某一版本目录的链接文件
发布应用:
编写脚本:
内容总结
以上是互联网集市为您收集整理的Python/Jenkins基础全部内容,希望文章能够帮你解决Python/Jenkins基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。