您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
Jenkins+Git实现持续集成和持续部署(无触发构建)
 
  2124  次浏览      19
2020-12-9
 
编辑推荐:
本文主要详细介绍了\持续集成、持续交付、持续部署概念透析
, Git安装并上传代码至版本库, 安装jenkins, jenkins和git实现拉取代码并实现远程部署, 希望对您的学习有所帮助。
本文来自于CSDN,由火龙果软件Alice编辑推荐。

实验环境:

阿里云服务器 39.97.176.117 部署wordpress网站

腾讯云服务器 106.54.72.122 部署jenkins+git,实现拉取wordpress代码并远程部署到阿里云服务器

一、持续集成、持续交付、持续部署概念透析

持续集成:频繁的(一天多次的)将所有开发者的工作合并到主干上;各个开发者在git的不同分支进行一个大程序各个模块的开发,各个开发者每天都会将自己的代码合并到主干。

持续集成 的策略能够为我们带来哪些好处呢?

1.易于定位错误:每一次的代码集成都需要执行相关的测试工作,持续集成频繁的集成次数天然的将复杂的代码逻辑切割为了小块,也就使得每一次测试中遇到的错误能够更加容易的被定位;

2.易于控制开发流程:更为细致的工作提交也就意味着更容易判断当前的工作进度,这对于管理者规划开发流程而言提供了一个有效的参考,同时也为开发人员省下了汇报工作的时间;

3.易于CodeReview:对于大块工作的切分自然也有助于做 CodeReview;

4.易于减少不必要的工作:build 以及 test 过程的自动化可以为你节约一大票的时间,从而投入到有价值的工作中去。

持续交付:一种能够使得软件在较短的循环中可靠的发布的软件工程方法。 与持续集成相比,持续交付的侧重点在于交付,其核心对象不在于代码,而在于可交付的产物

持续部署:通过自动化部署的手段将软件功能频繁的进行交付。

二、Git安装并上传代码至版本库

1、安装Git

yum install git -y

2、设置自己的全局信息

git config --global user.name "吴晋丞"
git config --global user.email "wujincheng@163.com"
git config -l

3、初始化git

想下我们git存文件代码总要找个目录存是吧,所以我们需要选择一个目录初始化成git

mkdir /git
cd git
git init
groupadd git
useradd -g git git #创建git用户,用于后面git clone下载的用户
chown -R git:git /git #给git用户权限

4、移动代码至工作区

mv wordpress-5.0.2-zh_CN.tar.gz /git/

5、上传代码至暂存区

git add wordpress-5.0.2-zh_CN.tar.gz
git status #查看暂存区的内容

6、上传代码至版本库

git commit wordpress-5.0.2-zh_CN.tar.gz -m "官方 wordpress-5.0.2"
git log #查看本分支版本库
git log -a #查看所有分支的版本库

注:git并没有占用任何端口号,连接git进行数据传输,是通过ssh实现的使用git用户身份从远程库下载文件或者代码。

三、安装jenkins

四、jenkins和git实现拉取代码并实现远程部署

1、下载两个插件

注:git插件是实现jenkins支持从git版本库远程拉取代码。

注:ssh插件是实现远程部署。

需要重启jenkins。

2、配置git插件

这就相当于做ssh免密登录一样,只不过是本地的root用户免密钥登录本地的git用户。

注意:id_rsa就是git用户的公钥的私钥。这里的root的公钥和我们这里的实验无关,这是我ansible做免密登录的,和另外一台云主机是一对。

把root目录下的私钥文件中的内容复制到:

述注:因为我这里用的云主机,所以你也可以不使用127.0.0.1,使用公网ip也可以,但速度很慢。

到现在为止,git插件就配置好了。

3、看看jenkins是否能拉取代码

点击构建项目,查看终端输出:

这样就成功了。

4、配置ssh插件

上面这个是系统设置

主要说下项目中的ssh的使用配置,实现远程部署:

注:上面这个配置是针对git版本库中存的是目录文件的,比如这里的wordpress就是一个目录文件,代码全在这个目录里面。下面这个针对的是直接就是一个文件的,不是目录。这里是一个wordpress的tar包。

我们jenkins把代码拉取到/root/.jenkins/workspace/jobname/目录下,我们现在需要把本地jenkins拉取的代码远程部署到阿里云服务器。

重点:

1.Source files : 源文件地址,相对地址 比 /root /.jenkins/workspace/jobname/target/ xx.war 直接写成 target/xx.war 就行

2.Remove prefix : 这里指的是忽略前面的 target/ 远程服务器直接显示文件就是xx.war

3.Remote directory : 远程服务器要保存的文件目录;这里就是指定阿里云服务器,你需要将拉取的代码部署到那个目录下

4.exec command ,一般来说不管上传到git,还是从git拉取的都是一个tar包,所以一般还需要执行命令进

 

   
2124 次浏览       19
相关文章

为什么要做持续部署?
剖析“持续交付”:五个核心实践
集成与构建指南
持续集成工具的选择-装载
相关文档

持续集成介绍
使用Hudson持续集成
持续集成之-依赖管理
IPD集成产品开发管理
相关课程

配置管理、日构建与持续集成
软件架构设计方法、案例与实践
单元测试、重构及持续集成
基于Android的单元、性能测试
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
集成产品开发-IPD简介
一句话解释IPD的核心内容
全面回答什么是持续集成和持续交付
Jenkins自动化部署-----持续交付
环境配置管理与应用部署自动化
最新课程
配置管理与持续集成实践
持续集成与持续交付实践
持续集成与敏捷开发
分布式持续集成工具链
配置管理方法、实践、工具与应用
更多...   
成功案例
某单位研发中心 产品集成与服务平台
某电子制造商 配置管理与持续集成
北京 配置管理与持续集成实践
金雅拓 分布式持续集成工具链
北京 持续集成测试最佳实践
更多...