前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化部署之jenkins及简介

自动化部署之jenkins及简介

作者头像
拓荒者
发布2019-09-23 15:47:19
7660
发布2019-09-23 15:47:19
举报
文章被收录于专栏:运维经验分享运维经验分享

自动化部署之jenkins及简介

一、什么是持续集成?

(1)Continuous integration(CI)

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

image.png
image.png

(2)没有持续集成

项目做模块集成的时候,发现很多借口都不通==>浪费大量时间

需要手动去编译打包最新的代码==>构建过程不透明

发布代码,上线,基本靠手工==>脚本乱飞

(3)持续集成最佳实践:

维护一个单一的代码库

使构建自动化

执行测试是构建的一部分

集成日志及历史记录

使用统一的依赖包管理库

每天至少集成一次

(4)jenkins介绍

Jenkins只是一个平台,真正运作的都是插件。这就是jenkins流行的原因,因为jenkins什么插件都有  Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。后来创始人又写了一个jenkins,jenkins在功能上远远超过hudson

Jenkins官网:https://jenkins.io/

Jenkins下载:http://updates.jenkins-ci.org/

 jenkins的全部镜像:http://mirrors.jenkins-ci.org/status.html

(5)部署代码上线流程:

1.代码获取(直接了拉取)

2.编译      (可选)

3.配置文件放进去

4.打包

5.scp到目标服务器

6.将目标服务器移除集群

7.解压并放置到Webroot

8.Scp 差异文件

9.重启      (可选)

10.测试

11.加入集群

二、jenkins部署

 1.安装JDK 

1

[root@7mini-node2 ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

2.安装jenkins

1

[root@7mini-node2 contos]# rpm -ivh jenkins-2.32.3-1.1.noarch.rpm

3.启动

1 2 3 4 5

[root@7mini-node2 contos]# service jenkins start Starting jenkins (via systemctl): [ OK ]   [root@7mini-node2 contos]# netstat -tunlp |grep :8080 tcp6 0 0 :::8080 :::* LISTEN 2259/java

4  输入初始化密码

1 2

[root@7mini-node2 contos]# cat /var/lib/jenkins/secrets/initialAdminPassword a93553a4865b45198ae28f77877efe19    #登陆界面有提示输入密码,初始密码文件为/var/lib/jenkins/secrets/initialAdminPassword

安装插件完成,设置用户名:jenkins,密码:jenkins

三、jenkins的插件以及配置

jenkins系统管理比较重要的就是插件管理了 ,因为jenkins的工作全部是由插件来完成。

在插件管理中,有可更新、可选插件、已安装,日常的插件安装都是在这个界面上完成的。比如为了和gitlab协同,我们需要安装gitlab的插件。

当插件安装不上的时候,可以直接去网上瞎子啊,进行安装

1 2 3 4 5 6 7

下载地址 http://updates.jenkins-ci.org/   解压备份plugin.tar.gz mv plugins /var/lib/jenkins/ chown -R jenkins.jenkins plugins/ service jenkins restart

image.png
image.png
image.png
image.png

在高级选项中,我们可以在jenkins官网下载插件,然后上传插件 ,如图:

因为很多插件需要×××才可以继续下载,jenkins还提供了代理的设置 还是在服务器目录下进行上传插件 目录路径= /var/lib/jenkins/plugins/ 这个目录下是我们安装所有的插件

jenkins的目录介绍:

1 2 3 4 5 6 7 8 9 10

[root@7mini-node2 contos]# rpm -ql jenkins /etc/init.d/jenkins                #jenkins的启动文件 /etc/logrotate.d/jenkins /etc/sysconfig/jenkins             #jenkins的配置文件(可以写改默认端口) /usr/lib/jenkins                   /usr/lib/jenkins/jenkins.war       #jenkins的程序war包 /usr/sbin/rcjenkins                #jenkins的为二进制文件 /var/cache/jenkins                 #jenkins的程序文件,运行程序解压出来的 /var/lib/jenkins                   #jenkins的主目录 /var/log/jenkins                   #jenkins的日志文件

1

jenkins的升级,只需要将war包解压到/var/lib/jenkins目录下,重启jenkins即可。 <br>友情提示: 卡启动问题 jenkins在第一次安装启动时会向官网回传信息,如果网络离线可以正常安装。<br>当网络在线,但是 还有可能是内存不足 <br>备份: tar zcvf jenkins.tar.gz /var/lib/jenkins,写一个定时任务的脚本,保留15天的备份,通过增量备份。

在测试环境中改成root用户来进行配置

1 2 3 4 5 6

vim /etc/sysconfig/jenkins 将用户修改为root,可以调用root工具  29 JENKINS_USER="root"   修改启动端口85行,$JENKINS_PORT service jenkins restart

系统管理-->系统配置

执行者数量:配置并发数量,一般设置为5,不超过10

用法:如果是主server,可以不选,如果是从级别必须选择“尽可能的使用这个节点”

生成前等待时间:配置该时间10s,避免错误操作,有时间返回

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动化部署之jenkins及简介
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档