LinuxDown

LinuxDown.com
Linux系统下载网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Jenkins流行的自动化工具,用于持续集成、交付和部署

2023年3月21日 131点热度

Jenkins,一种流行的手动化工具,用于持续集成、交付和布署,本文介绍怎样快速布署及配置。

后面的CI/CD文章,我们都是使用GitlabCI来实现的:

并且和GitlabCI比上去,个人观察Jenkins在国外企业使用愈加广泛,这是由于Jenkins早已存在了很长时间,拥有庞大的社区和插件生态系统,而GitlabCI则相对较新。通常一个人或则组织假如习惯了某样东西,没有较大的推力,是很难完成这些习惯转变的。

然而,GitlabCI有其独到的优势(参考:),近年来,在国外的使用比列也在逐步降低。

Jenkins是一种流行的手动化工具,用于实现持续集成和持续交付。它容许开发人员在建立和测试代码时手动化她们的流程,并支持持续布署,使开发团队能否将应用程序手动布署到各类环境中。

首先,我们先简单了解下Jenkins。

01

—

Jenkins简介

阿里云 centos mysql_阿里云重装centos系统_阿里云 centos 63

Jenkins是一个流行的开源手动化工具,它被广泛用于持续集成和持续交付。Jenkins的主要目标是手动化建立、测试和布署软件项目,便于快速地、频繁地交付高质量的软件。

Jenkins最初是由KohsukeKawaguchi创建的,它最初是一个Hudson的分支阿里云重装centos系统,后来逐步发展成为一个独立的开源项目。Jenkins支持多种编程语言和操作系统查看linux是什么系统,而且可以轻松集成其他工具和技术,如Git、SVN、Docker等。

Jenkins的核心功能是建立和测试代码,它可以从源代码管理系统(如Git或SVN)中获取代码,执行手动化建立和测试,并将结果反馈给团队。Jenkins还支持许多插件,可以轻松地扩充其功能。

Jenkins的工作原理基于“作业”(Job)和“节点”(Node)。作业定义了须要执行的任务,如建立、测试、部署等。节点是用于执行作业的计算机或服务器。Jenkins的作业可以在一个节点上执行,也可以在多个节点上并行执行。

Jenkins还支持多种插件和工具,如代码检测、静态剖析、代码覆盖率等。这种插件可以帮助团队更好地理解其代码库的质量和性能,并发觉潜在的问题。

Jenkins的另一个强悍功能是它可以与许多第三方工具和技术集成,如Docker、Kubernetes、AWS等。这种集成可以帮助团队更快地建立和布署应用程序,同时提升可靠性和安全性。

02

阿里云 centos mysql_阿里云重装centos系统_阿里云 centos 63

—

Jenkins快速配置与布署

和之前一样,我们继续使用docker-compose快速在Linux上布署Jenkins。

这是docker-compose.yml

version: '3.8'services:  jenkins:    image: jenkins/jenkins:2.375.3-lts-centos7    restart: always    privileged: true    user: root    ports:     - 8081:8080     - 50000:50000    container_name: jenkins    environment:      - TZ=Asia/Shanghai    volumes:      - ./jenkins_configuration:/var/jenkins_home      - /var/run/docker.sock:/var/run/docker.sock      - ./jdk1.8.0_351:/opt/jdk      - ./jdk-11.0.17:/opt/jdk11      - ./settings.xml:/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/Maven3.6.2/conf/settings.xml

对于前面的YAML文件,有两点须要说明:

这儿通过-./jdk1.8.0_351:/opt/jdk和-./jdk-11.0.17:/opt/jdk11来映射JDK文件,由于许多新的插件都依赖JDK11,这样形式重启后JDK须要重装。

-./jenkins_configuration:/var/jenkins_home映射了Jenkins里的配置信息,便捷持久化及后续的Jenkins迁移。

假如使用Maven插件,国外最好配置加速镜像(例如阿里云镜像)阿里云重装centos系统,可以通过映射settings.xml来配置。

执行docker-composeup-d启动,访问:8081就可以看见Jenkins界面了

03

—

备份与恢复

可以通过Git项目来备份Jenkins配置。

首先中标麒麟linux,我们须要将docker-compose.yml所在目录初始化为git项目,并和远端的代码库房绑定。

cd git initgit remote add origin .gitgit branch -M maingit pull origin maingit push origin main

之后,可以通过一个脚本来手动操作git递交。

#!/bin/bash
# 设置用户名和邮箱git config --global user.name "Shell-bot"git config --global user.email "jaswan@foxmail.com"
# 进入要提交的目录cd /opt/jenkins
# 添加所有变更的文件git add -A
# 提交变更git commit -m "backup: Daily update"
# 推送到远程仓库git push origin main

最后,配置一下crontab实现每日备份。

接出来,我们可以验证下备份文件的恢复,步骤如下:

在新的文件夹拉取git项目

阿里云 centos mysql_阿里云 centos 63_阿里云重装centos系统

映射JDK8和JDK11

docker-composeup-d,这时会发觉许多任务都没有显示,这是由于插件没有安装的缘由。(插件容积太大,我在gitignore中过滤了,详情参考阅读全文)

安装之前用到的插件(否则原有任务将不显示)

docker-composedown,注释掉settings.xml映射,之后docker-composeup-d,这时可以发觉任务都已恢复。

执行一个job以installMaven(我用的3.6.1版本)。

docker-composedown,恢复settings.xml映射,之后docker-composeup-d

到这儿,Jenkins服务打算完毕,但是包含备份与还原方案。

‍‍‍

本次分享到此结束,上次将继续分享Jenkins里怎么创建一些常见的建立任务。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: docker-compose jenkins jenkins使用 持续集成 自动化部署jenkins
最后更新:2023年3月21日

Linux系统下载网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux系统下载网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
syslinux.exe centos CentOS启动盘制作 开源开发者为任天堂N64主机带来了新的Linux内核移植 centos系统的桌面版安装系统重新安装系统安装 Linux task定时任务无反应,如何解决? RedHatLinux安装程序镜像文件提示错误信息时代汇总的 红帽2.6内核升级,企业Linux新飞跃! redhat 修改ip Redhat修改IP:简单易学,轻松上手! 我的共享文件夹路径为/mnt/hgfs/desktop 创建用户的时候指定分组是怎样的体验? SUSE Linux虚拟机下载指南 Linux系统与Shell编程入门指南 Linux系统中通常有三种类型的用户:超级用户 安装KaliLinux虚拟机的大小选项中的配置信息介绍 centos rhythmbox CentOS轻松享受Rhythmbox音乐,安装教程! 可用性对比Banshee的应用起来非常简单,你知道吗 解决Linux CPU高负载,8招搞定! 《鸡你太美》都没有对应歌词…… Linux设备驱动开发详解4:8个问题解决方案 嵌入式Linux系统的构建和管理方式发生了什么? 哪些电脑可安装Linux?十大特点解析!
i2c linux驱动 ARM-Linux开发和MCU开发的不同点,以及ARM-Linux的基本开发环境syslinux.exe centos CentOS启动盘制作Linux安装Git,轻松get!Linux的文件系统是inux操作系统的本质吗??Linux串口驱动优化与调试技巧Linux下修改环境变量的几种主要方法,你知道吗?Win8安装Linux系统:简易步骤grep命令的基本语法格式:grep命令基本格式介绍CentOS网络畅通,教你添加网卡Linux中如何使用“grep”命令命令命令?fedora server FedoraServer:优势与使用方法玩转Linux用户空间MTD,享受高效闪存系统Linux用户如何获得管理员权限?8种方法解析RedHatLinux操作系统支持的文件系统教程操作环境Linux常用软件源,打造高效系统7-ZipZS中文多语免费版开源免费解压缩软件轻松管理MySQL,这8个Linux工具必备Linux基础——远程访问及控制(OpenSSH服务端)Linux系统移植,嵌入式必备!最小化安装“图形化界面”有什么区别?
解决Linux CPU高负载,8招搞定! node切换工具nvm安装并切换nodejs版本的注意事项! 玩转Linux游戏世界:9个必知! Linux游戏引擎开发8招 centos portmap 提高服务器安全性:CentOS中Portmap的应用与优化 优化Linux内存使用效率,教你查看已使用内存 Linux用户如何获得管理员权限?8种方法解析 红帽Linux5.5下载指南:简单易懂的操作步骤 磁盘配额设置:EXT4与XFS的区别与注意事项 半导体厂商会将uboot移植到我们所使用的开发板上官方开发板uboot Linux版本信息查看攻略:10个必备技巧 解密Linux系统下的/dev目录:作用与意义 linux mysql 启动 Linux下MySQL启动与常见问题 《命令》cp命令的基本格式:软链接 CentOS服务器安装教程:轻松配置个人电脑 Linux配置Go环境变量,8步搞定! 开源开发者为任天堂N64主机带来了新的Linux内核移植 如何查看Linux系统信息? Linux用户空间SP安全策略应用 教你轻松安装搜狗输入法Linux版,输入更畅快!
标签聚合
命令 命令模式 linux系统 linux服务器 虚拟机 sudo 操作 文件目录 centos 软件
书籍
课程
技术群
技术干货大合集↓
  • 2023年6月 / 30篇
  • 2023年5月 / 124篇
  • 2023年4月 / 115篇
  • 2023年3月 / 265篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 LinuxDown.com ALL RIGHTS RESERVED.

京ICP备14023444号-2