![](https://img-blog.csdnimg.cn/20201202164858525.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Jenkins+gitlab
文章平均质量分 79
此分类包含了:
gitlab代码仓库
Jenkins自动化
Jenkins的文章写得比较长,几乎每一部操作都附有截图,以便读者可以好好的享受整个操作过程
Jiangxl~
CSDN博客专家、51CTO专家博主、阿里云博客专家、华为云享专家、DevOps运维领域优质创作者、
2021年度博客之星运维与安全领域TOP1,InfoQ签约作者、阿里云社区签约作者。博客包括:Python、前端、Kubernetes、Docker、CI/CD、DevOps、Prometheus、Zabbix、MQ、Redis、MySQL、WEB集群、自动化运维、阿里云、ELK、Linux、等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。
展开
-
jenkins开启web代理通过tcp端口方式使master与slave建立连接
jenkins开启web代理通过tcp端口方式使master与slave建立连接1.jenkins web代理jenkins web代理是指slave通过jenkins服务端提供的一个tcp端口,与jenkins服务端建立连接,docker版的jenkins默认开启web tcp代理,端口为50000,而自己手动制作的jenkins容器或者在物理机环境部署的jenkins,都需要手动开启web代理端口,如果不开启,slave无法通过web代理的方式与jenkins建立连接。jenkins web代理原创 2021-06-18 10:14:24 · 1195 阅读 · 16 评论 -
Jenkins针对不同的项目视图对不同的用户进行权限分配
Jenkins创建用户并分配不同视图的权限根据不同的部门分配不同的角色,角色成员只能看到自己部门视图内部的jenkins jobJenkins版本:2.249因安装了中文包的原因,语言大多以中文的方式显示,但不影响配置使用Jenkins要想以视图分配权限,需要注意一个规范:在创建视图时以项目的缩写命名再加上项目的具体名称,例如:dev_boss,dev就是项目的整体名称,boss就是其中的一个模块,这样一来我们做权限分配时,以dev开头就能匹配到所有dev的项目并且在一个视图中显示1.安装权限原创 2021-04-12 14:25:45 · 1360 阅读 · 482 评论 -
7款不错的 CI/CD工具
时至今日,越来越多的工程团队开始实行敏捷开发,借以推动更短、更快的发布周期。而代码库的增长与更高的生产构建频率,也带动持续集成与持续部署/交付工具快速兴起。什么是CI / CD?其意义何在?在深入研究CI / CD自动化工具之前,我们首先需要了解其基本概念。正如我们所提到的,持续集成和持续部署通常与敏捷开发环境齐头并进。在这类环境中,团队希望在构建完成后立即将不同的代码段部署到生产环境中。JenkinsJenkins是CI市场中最知名且最常见的名号之一。其最初是由Sun公司的一位工程师打造的一.转载 2021-04-01 17:03:18 · 3867 阅读 · 1 评论 -
Jenkins美化---更新时日志输出带颜色
Jenkins更新输出日志改变颜色Jenkins默认输出日志不带任何字体颜色,除了问题不容易排错影响我们看log的时间1.安装日志颜色插件点击系统管理—插件管理—可选插件—搜索插件AnsiColor 点击安装即可2.配置项目开启日志颜色功能进入项目找到构建环境,点击 Color ANSI Console Output 即可开启3.配置项目执行的脚本定义颜色echo -e "\033[32m 更新目标:${target}\033[0m"echo -e "\033[32m 项目名称:${pro原创 2021-03-30 11:14:18 · 2306 阅读 · 20 评论 -
gitlab创建项目多人协同(三)
1.gitlab创建项目多人协同1.1.新建一个项目并设置为开发1组权限1.2.推送本地代码到gitlab1)先将之前gitee的连接删掉[root@gitlab data_git]# git remote -vorigin git@gitee.com:jiang_xiao_long/git_test.git (fetch)origin git@gitee.com:jiang_xiao_long/git_test.git (push)[root@gitlab data_git]# git r原创 2020-12-14 15:56:28 · 1308 阅读 · 632 评论 -
gitlab远程仓库安装(一)
gitlab仓库1.gitlab简介gitlab是一个开源仓库,社区版ce,企业版eegithub创建私有仓库收费,网络较差码云—收费,创建私有仓库最多5个人协同开发公司一般选择gitlab,个人开源项目github gitee2.安装gitlab2.1.安装gitlab1)安装gitlab[root@gitlab ~]# yum -y localinstall gitlab-ce-12.0.3-ce.0.el7.x86_64.rpm 2)安装其他依赖软件[root@gitlab原创 2020-12-14 15:45:48 · 681 阅读 · 631 评论 -
配置maven集成nexus私服(十八)
1.配置maven集成nexus1.1.配置maven集成enxus1.修改maven配置文件[root@jenkins ~]# vim /etc/maven/settings.xml#找到 <servers> 标签,添加 Nexus 默认认证信息:132行下面粘贴 <server> <id>my-nexus-releases</id> <username>admin</username> #nexus的原创 2020-12-17 09:44:08 · 713 阅读 · 630 评论 -
Nexus私服部署(十七)
nexus私服部署1.nexus私服简介Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。原创 2020-12-17 09:43:27 · 620 阅读 · 1 评论 -
jenkins分布式集群部署(十六)
jenkins分布式部署1.jenkins分布式概念jenkins分布式就是有多个slave节点,当需要构建的项目非常多时,slave会承担master的工作量,在slave在上创建项目。slave的环境要和master一致,master上安装了什么软件在slave上要准备相同的,并且路径最好保持一致,与master的区别在于不用安装jenkins2.jenkins分布式部署2.1.增加slave节点jenkins分布式其实就是在页面上点击manage nodes and clouds新增一个原创 2020-12-17 09:39:35 · 3161 阅读 · 2 评论 -
Jenkins集成pipline流水线实现自动化上线(十五)
1.老项目改造实现pipline项目自动上线1.1.通过jenkins获取流水线语法1.1.1.获取从gitlab上拉取项目的语法拉取gitlab上的代码可以通过jenkins获取流水线语法最后粘贴到脚本中点击配置—高级项目选项—流水线—流水线语法配置拉取代码的信息点击生成流水线脚本1.1.2.获取钉钉报警语法1.2.使用git parameters参数构建参数化构建使用blue ocean会报错,会提示不支持,但是不影响构建2.编写pipeline脚本pipeline{原创 2020-12-17 09:35:47 · 1225 阅读 · 2 评论 -
Jenkins-pipline流水线语法介绍并结合Blue Ocean查看流水线(十四)
jenkins集成pipeline流水线1.pipeline概述pipeline流水线,可以直观的展示每个阶段做的任务,以及每个阶段耗费的时间。pipeline不在使用鼠标来实现自动构建,也不要去看控制台日志,而是全程使用代码的方式来实现,构建完成后会展示一个视图,用来展示每个阶段完成的情况pipeline使用Groovy语言来编写,固定代码语法2.pipeline基本语法pipeline { #所有代码包裹在pipeline{}层 agent any #定义在哪台机器上运行 en原创 2020-12-17 09:31:32 · 1452 阅读 · 2 评论 -
jenkins配置钉钉报警(十三)
jenkins触发钉钉报警在使用一段时间的邮箱报警后,感觉到有些时候邮件不能及时的去查看,现将准备一个钉钉报警来配合邮件报警一起使用,更好的做到及时收到消息,处理问题。1.安装钉钉插件钉钉报警需要安装Ding Talk插件,支持钉钉报警,高本版的jenkins钉钉包叫做Ding Talk安装成功2.创建钉钉机器人2.1.添加机器人新增一个群聊点击群机器人—新增机器人2.2.选择机器人类型点击自定义2.3.添加2.4.填写机器人信息填写机器人姓名—设置安全设置为加密类型,并复原创 2020-12-16 15:39:12 · 1150 阅读 · 2 评论 -
Jenkins升级迁移--2.176升级2.249(十二)
Jenkins升级迁移由于集成sonarqube的时候Jenkins2.176总是报错,因此直接将2.176升级为2.249,由于2.249是在其他机器上部署的,因此要迁移过来1.备份之前的项目[root@jenkins ~]# cp -ra /var/lib/jenkins/workspace/ /backup/2.停止Jenkins2.176并卸载[root@jenkins ~]# systemctl stop jenkins[root@jenkins ~]# yum -y remove原创 2020-12-16 15:35:17 · 997 阅读 · 2 评论 -
Jenkins2.249-自定义插件安装(十一)
自定义安装Jenkins2.249由于之前一直使用的Jenkins2.176版本在做sonarqube集成的时候总是有问题,因此直接使用最新版本的2.249来集成1.安装Jenkins1)安装[root@rancher ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repoJenkins公钥文件[root@rancher ~]# rpm --import http原创 2020-12-16 15:31:02 · 910 阅读 · 2 评论 -
Jenkins集成maven实现项目自动编译(十)
1.Jenkins集成maven实现项目自动编译思路:1.需要新建一个maven的项目并按照Maven intergration plugin插件2.Jenkins抓取gitlab上的java代码3.Jenkins调用maven进行编译构建4.Jenkins调用shell进行推送1.1.安装Maven Integration插件如果在这里安装失败,请去http://updates.jenkins-ci.org/download/plugins/maven-plugin/2.14/maven-原创 2020-12-15 09:58:13 · 1052 阅读 · 2 评论 -
Jenkins集成sonarqube在上线前进行代码自动扫描(九)
1.Jenkins集成sonarqube自动扫描1.1.安装sonarqube scanner插件这里失败是提示sonar插件的版本太低了,需要安装高版本的安装成功1.2.添加sonarqube服务地址如果将来换了sonarqube地址,则需要把项目删除重建,否则会识别不到点击配置—configure system找到sonarqube配置项,填写name、url、token,点击增加token点不动,需要保存后再进来设置添加token需要再次进入,点击添加—jenkins选择s原创 2020-12-15 09:55:43 · 979 阅读 · 2 评论 -
sonarqube代码质量检测工具部署(八)
sonarqube质量检测工具1.sonarqube简介sonarqube用来做代码质量扫描,分析bug 分析漏洞 分析不规范代码2.安装sonarqube由于服务器有限,因此在gitlab服务器上安装sonarqube2.1.安装mysql数据库将mysqlrpm上传至服务器,必须是5.6以上版本1.安装mysql5.6[root@gitlab mysql]# yum -y localinstall mysql-community-*.rpm[root@gitlab mysql]# sy原创 2020-12-15 09:54:06 · 889 阅读 · 2 评论 -
利用Jenkins实现java-cms项目自动化上线及回滚(七)
Jenkins实现cms项目自动部署1.环境准备ip服务192.168.81.210gitlab192.168.81.220Jenkins192.168.81.230nginx-lb192.168.81.230mysql192.168.81.240tomcat+nginx192.168.81.250tomcat+nginx2.实现cms项目手动上线2.1.准备项目代码1.下载项目代码并解压https://gitee.com/lxh原创 2020-12-15 09:33:51 · 804 阅读 · 2 评论 -
Jenkins调用shell脚本实现java集群自动部署和一键回退(六)
Jenkins实现java集群自动部署架构图1.集群准备1.1.环境概述服务ipgitlab192.168.81.210Jenkins192.168.81.220nginx-lb192.168.81.230nginx+tomcat192.168.81.240nginx+tomcat192.168.81.2501.2.在web集群部署tomcat+nginx反向代理配置nginx反向代理主要是为了动静分离,动态资源tomcat处理,静态资原创 2020-12-15 09:21:54 · 1478 阅读 · 2 评论 -
jenkins调用shell脚本实现自动上线完整项目---此项目中用到了git parameter、choise parameter参数化构建(五)
利用jenkins自动部署完整项目1.环境规划主机ipJenkins192.168.81.220gitlab192.168.81.210lb192.168.81.230web01192.168.81.240web02192.168.81.2502.gitlab新建monitor项目2.1.配置Jenkins服务器公钥[root@jenkins ~]# cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EA原创 2020-12-14 16:33:08 · 1151 阅读 · 3 评论 -
Jenkins调用shell命令实现持续集成(四)
6.创建jenkins的job任务6.1.实现jenkins+shell集成6.1.1新建一个job任务6.1.2.创建一个freestyle project6.1.3.调用shell命令进行构建6.1.4.点击立即构建6.1.5.查看构建详情6.1.6.查看文件存放路径所有的项目都会存放在/var/lib/jenkins/workspace/中[root@jenkins ~]# ll /var/lib/jenkins/workspace/freestyle-jobs1/总原创 2020-12-14 16:18:06 · 1075 阅读 · 2 评论 -
jenkis插件安装(三)
1.jenkins插件1.1.对插件进行加速对插件进行加速就是替换源这里使用清华源1.1.1.获取镜像源镜像源地址https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.176/update-center.json1.1.2.jenkins配置镜像源jenkins—>Manage Jenkins—>Manage Plugins---->高级1.2.jenkins安装一个插件jenkins—>原创 2020-12-14 16:14:54 · 508 阅读 · 1 评论 -
jenkins介绍及安装部署(二)
jenkins安装/插件详解/调用shell命令1.介绍jenkinsjenkins是一个开源的,提供友好操作界面的持续集成ci工具,起源于hudson,主要用于持续、自动的构建测试软件项目,监控外部任务的运行,jenkins用java语言编写,可在tomcat等流行的servlet容器中运行,也可独立运行,通常与版本管理工具(SCM)、构建工具结合使用,常用的版本控制工具有SVN、GIT,构建工具有maven、ant、gradleCI/CD介绍:CI是一种软件开发时间,持续集成强调开发人员提交了原创 2020-12-14 16:14:27 · 573 阅读 · 1 评论 -
CI/CD持续集成概念(一)
持续集成1.集成的概念1.1.什么是集成在实际的软件开发中,常常会有如下两种场景:1.现在有一个电商平台开发,由于平台需要开发的某块较多,此时需要不同的开发人员开发不同的模块,最后将所有人开发好的代码集成到一个系统中,集成完毕后需要对其进行部署上线2.随着时间的推移,该系统无论是bug修复、还是新功能开发,后续都需要对系统进行不断的更新迭代1.2.项目软件开发过程2.持续集成的概念2.1.什么是持续集成持续集成指的是频繁地,一天多次将代码集成到主干2.2.使用持续集成带来的好处原创 2020-11-20 16:50:01 · 2539 阅读 · 8 评论 -
Jenkins项目自动上线至kubernetes集群
k8s对接Jenkins1.jenkins工作流程1.开发还是一样的写java代码,写好java代码后提交到gitlab仓库中,Jenkins在通过gitlab去拉取这些代码,开发只需要在Jenkins页面上点一下立即构建,就会调用shell命令将代码通过docker build 来构建镜像。2.dockerfile一般研发同事会写好,如果研发不会写,运维也可以帮忙写,通用是这样的,由运维构建一个只有lnmp的镜像,研发在写dockerfile时from指定lnmp的镜像即可了。3.构建完dock原创 2020-10-22 14:38:48 · 1600 阅读 · 2 评论