当前位置: 首页 > news >正文

Jenkins安装部署及实现CI/CD(ubuntu20.04)

原文链接:https://juejin.cn/post/7037298752708673566/

安装

参考 :https://pkg.jenkins.io/debian-stable/

一、首先,我们将存储库密钥添加到系统。

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

二、添加密钥后,系统将返回OK 。 接下来,我们将Debian包存储库地址附加到服务器的sources.list :

echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

三、运行update ,以便apt-get将使用新的存储库:

sudo apt-get update

踩坑:

报错如下:

Err:7 https://pkg.jenkins.io/debian-stable binary/ Release
  Could not wait for server fd - select (11: Resource temporarily unavailable) [IP: 151.101.230.133 443]
Reading package lists... Done                     
E: The repository 'https://pkg.jenkins.io/debian-stable binary/ Release' does not have a Release file.

执行以下命令,可以解决,原因可能是jenkins新的更新 jenkins 2.303.2 Lt

sudo apt-get upgrade 
sudo apt-get update

四、安装jenkins

sudo apt-get install jenkins

启动

一、启动

sudo systemctl start jenkins

二、查看运行状态

sudo systemctl status jenkins

三、更改端口(非必要)

注意:

默认端口是8080,有时候由于端口占用需要修改如下:

1、检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082:

2、修改 /etc/default/jenkins 文件,将端口 8080 改成 8082

HTTP_PORT=8082

3、重启Jenkins

sudo systemctl restart jenkins

配置使用

参考:https://blog.csdn.net/star919402/article/details/108083205

一、前置准备

1、安装maven,jdk,git

具体步骤略

2、安装插件

image-20211203083859943.png

说明:选择Available,根据名称搜索对应的插件,安装。安装完成后出现在Installed选项卡下,我这边安装的有
Git Parameter Plug-In、GitLab、NodeJS Plugin、Role-based Authorization Strategy、Publish Over SSH、LDAP Plugin、Maven Integration plugin

image.png

3、全局工具配置

image-20211130143431681.png

image-20211201173628949.png

4、系统配置

image.png

配置[GitLab]参考:https://www.cnblogs.com/ycyzharry/p/14354819.html;

配置[Publish Over SSH]参考:https://www.pianshen.com/article/6955579164/
image.png

二、任务配置

1、创建一个后端任务

image-20211203085438503.png

image-20211203085609641.png

image.png

2、创建一个前端任务

image.png

image.png

用户权限管理

参考:https://www.cnblogs.com/sker/p/9255338.html

配置版本回退

参考:https://blog.csdn.net/weixin_45509582/article/details/120531628

指定不同分支构建

参考:https://plugins.jenkins.io/git-parameter/

相关文章:

  • Apache+tomcat安装 linux
  • 数字信封+数字签名流程图
  • DBLink创建方法
  • JBPM4入门+程序下载
  • JBPM3资料
  • Mac 安装pd虚拟机,远程桌面无法使用ctrl或其他符号无法使用问题
  • Django项目开发举例之创建开发环境(1)
  • Django项目开发举例举例之创建应用模型(2)
  • Django项目开发举例之应用的管理界面(3)
  • Django项目开发举例之自定义管理界面(4)
  • Django项目开发举例之用户界面视图模版(5)
  • Django项目开发举例之用户界面表单(6)
  • Django中Meta类详解
  • No python interpreter configured for the project
  • Django中各文件常用参数详解
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【剑指offer】让抽象问题具体化
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Git同步原始仓库到Fork仓库中
  • golang中接口赋值与方法集
  • Invalidate和postInvalidate的区别
  • jdbc就是这么简单
  • Linux后台研发超实用命令总结
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • PHP变量
  • python_bomb----数据类型总结
  • React的组件模式
  • unity如何实现一个固定宽度的orthagraphic相机
  • webpack4 一点通
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 分享一份非常强势的Android面试题
  • 官方解决所有 npm 全局安装权限问题
  • 检测对象或数组
  • 力扣(LeetCode)965
  • 前端面试之闭包
  • 悄悄地说一个bug
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 为什么要用IPython/Jupyter?
  • 最近的计划
  • #AngularJS#$sce.trustAsResourceUrl
  • #include
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $(selector).each()和$.each()的区别
  • (Git) gitignore基础使用
  • (k8s中)docker netty OOM问题记录
  • (pytorch进阶之路)扩散概率模型
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (六)软件测试分工
  • (十六)串口UART
  • (转)树状数组
  • ****Linux下Mysql的安装和配置
  • .gitignore文件—git忽略文件