阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

.NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

272次阅读
没有评论

共计 2017 个字符,预计需要花费 6 分钟才能阅读完成。

一、CI, CD 与 Jenkins

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成 (Continuous integration,简称 CI) => 持续集成指的是, 频繁地 (一天多次) 将代码集成到主干

它的好处主要有两个:

    • 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
    • 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

持续集成的目的,就是 让产品可以快速迭代,同时还能保持高质量。与持续集成相关的,还有持续交付和持续部署。

持续交付指的是:频繁地将软件的新版本,交付给质量团队或者用户,以供评审 。如果评审通过,代码就进入生产阶段。它强调的是, 不管怎么更新,软件是随时随地可以交付的

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

持续部署是持续交付的下一步,指的是 代码通过评审以后,自动部署到生产环境 。它强调的是 代码在任何时刻都是可部署的,可以进入生产阶段

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

Martin Fowler 说:“持续集成并不能消除 Bug,而是让它们非常容易发现和改正。”

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

Jenkins 是一款流行的开源持续集成(CI)与持续部署(CD)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。官方网站:http://jenkins-ci.org/。

使用 Jenkins 的目的在于:

(1)持续、自动地构建 / 测试软件项目。
(2)监控软件开放流程,快速问题定位及处理,提升开发效率。

这里废话不多说了,更多内容,可以参考这一篇文章《不甘寂寞的 Jenkins:从持续集成到持续部署》

二、Jenkins 的基础安装

PS: 这里采用的是基于 CentOS7.x 的安装方式,非 Docker 安装。

2.1 安装 Java 环境

这里参考晓晨 Master 的《CentOS7 安装 Java 环境(JDK1.8)》,不再赘述安装步骤,最终验证效果:

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

Tip:里面需要注意的是为 jdk 创建软链接!

2.2 安装 Git

yum install git

2.3 安装 Jenkins

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 

安装完成后提示信息:

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

默认安装后的端口绑定的是 8080,如果你想更改请进入文件编辑 JENKINS_PORT 属性项。

vim /etc/sysconfig/jenkins

如果你使用的是 root 用户(没有单独创建一个 jenkins 的用户),那么建议进入上面的配置文件编辑 JENKINS_USER 属性项将 jenkins 改为 root。

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

2.4 配置 Jenkins

(1)修改目录权限:

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

Tip:在 Shell 中,可以使用 chown 命令来改变文件所有者。chown 命令是 change owner(改变拥有者)的缩写。- R 代表进行递归 (recursive) 的持续更改,即连同子目录下的所有文件、目录都更新成为这个用户组,常常用在更改某一目录的情况。

(2)重启 Jenkins 服务

service jenkins restart
ps -ef | grep jenkins

提示信息如下图所示:

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

PS:启动 Jenkins

systemctl start jenkins

验证启动状态:

systemctl status jenkins

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

2.5 初始化 Jenkins 

(1)访问 http://xxxx:8080/ 进行 Jenkins 的解锁

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

可以通过下面的命令查看管理员密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

然后把这个密码复制到 Web 界面中的文本框中去进入下一步

(2)自定义 Jenkins => 这里选择 安装推荐的插件

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

双击之后进入安装过程,耐心等待:

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

(3)创建管理账户 => 也可以直接使用 admin 账户继续

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

(4)安装完成

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

(5)Jenkins 主界面

.NET Core 微服务之基于 Jenkins+Docker 实现持续部署(Part 1)

至此,Jenkins 的基本安装与配置就到此结束,下一篇我们会结合 ASP.NET Core 与 Docker 来一个持续部署的实例。

三、小结

本篇简单介绍了一下持续集成、持续交付与持续部署的基本概念,然后介绍了如何在 CentOS7.x 下安装 Jenkins 并初始化 Jenkins。下一篇会会结合 ASP.NET Core、GitHub 与 Docker 来一个持续部署的实例。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2017字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中