栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Jenkins

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins

1. Jenkins 介绍

  Jenkins 是一款流行的开源持续集成工具,在项目中广泛应用。具有自动化构建、测试和部署等功能。它提供了上千种插件,几乎所有的需求都可以通过安装插件完成

2. 使用 docker 安装 Jenkins
  1. 拉取 Jenkins 镜像
docker pull jenkins/jenkins
  1. 创建 Jenkins 挂载目录并授权
# 创建挂载目录
mkdir -p /data/jenkins_home/
# 给目录授权
chmod 777 /data/jenkins_home/
  1. 创建并启动 Jenkins 容器
docker run -di --name=jenkins -p 8080:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins

注意:

  1. Jenkins 需要开放两个端口:8080 和 50000,阿里云的安全组端口也要开放
  2. -v /etc/localtime:/etc/localtime:让容器和服务器的时间同步
  1. 查看 Jenkins 容器是否启动成功
docker ps
  1. 配置镜像加速
# 进入到 Jenkins 挂载的目录下
cd /data/jenkins_home
# 修改 hudson.model.UpdateCenter.xml 的内容配置镜像加速
vi hudson.model.UpdateCenter.xml

  修改前:



  
    default
    https://updates.jenkins.io/update-center.json
  

  修改后:将 url 修改为清华大学官方镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json



  
    default
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  

注意:修改之后要重新启动 Jenkins 容器

  1. 访问 Jenkins 页面:url 为:ip:8080

  1. 管理员密码获取方法:编辑 initialAdminPassword 文件查看,把密码输入登录中的密码即可,开始使用。
vi /data/jenkins_home/secrets/initialAdminPassword
  1. Jenkins 的简单使用






3. 下载中文汉化插件

  Jenkins->Manage Jenkins->Manage Plugins,点击 Available,搜索 “Chinese”


  最后重启 Jenkins 的 docker 容器,就可以看到汉化版的 Jenkins 了

4. Jenkins 的凭证管理

  凭据可以用来存储需要密文保护的数据库密码、Gitlab 密码信息、Docker 私有仓库密码等,以便 Jenkins 可以和这些第三方的应用进行交互。

(1) 安装凭证管理插件:Credentials Binding

  重启 Jenkins 容器后,系统管理中多了一个凭据配置和 Manage Credentials,在这里管理所有凭证

(2) 可以添加的凭证

  可以添加的凭证有 5 种。我们常用的凭证类型有:Username with password(用户密码)和SSH Username with private key(SSH 密钥)

  • Username with password:用户名和密码
  • SSH Username with private key: 使用 SSH 用户和密钥
(3) 安装 Git 插件和 Git 工具


  安装成功之后,重启 Jenkins 容器,Git 插件就会生效


  Jenkins 容器中本来就安装有 Git 工具。如果没有 Git 工具,可以用如下命令安装

# 安装
yum install git -y
# 安装后查看版本
git --version
(4) 添加 gitee 的用户名密码凭据

  系统管理->凭据配置,把我们常用的凭据都添加上


  系统管理->Manage Credentials,添加凭据





(5) 新建工程,用户密码类型从 Gitee 中拉取代码




  保存之后,点击立即构建,就可以将代码拉取到 Jenkins 的工作空间了

(6) SSH 密钥凭证

  SSH 免密登录示意图


  在 Jenkins 容器中执行下面命令,生成公钥和私钥。(一路回车键就好)

ssh-keygen -t rsa

  在/root/.ssh/目录保存了公钥和使用

# 以 root 用户的身份进入到容器中(为了能够访问 root 目录)
sudo docker exec -it -u root jenkins /bin/bash
# 进入到 /root 目录
cd /root
# 查看目录下的全部文件(包括隐藏文件)
ls -al
# 进入到 .ssh 目录
cd .ssh


  把公钥复制到 gitee 中,把私钥复制到 Jenkins 的凭证中

  Jenkins 中 SSH 密钥凭证的配置


5. Pipeline 流水线构建项目

  Pipeline 流水线是以一种编码的形式编写整个 Jenkins 的构建过程。包括:拉取代码、编译构建、部署等等的一些行为。

  • Pipeline 支持两种语法:Declarative(声明式)和 Scripted Pipeline(脚本式)语法,一般我们都用声明式语法
  • Pipeline 也有两种创建方法:可以直接在 Jenkins 的 Web UI 界面中输入脚本;也可以通过创建一个 Jenkinsfile 脚本文件放入项目源码库中(一般我们都推荐在 Jenkins 中直接从源代码控制中直接载入 Jenkinsfile Pipeline 这种方法)。
(1) 安装 Pipeline 插件


  安装好 Pipeline 插件后,重启 Jenkins 容器,创建项目的时候多了“流水线”类型

(2) 声明式 Pipeline 流水线的简单编写

(3) 自动生成拉取代码的脚本


(4) Jenkins 中 shell 脚本的编写


(5) 管理 Jenkinsfile 脚本文件

  刚刚我们都是在 Jenkins 的 UI 界面编写 Pipeline 代码,这样不方便脚本维护。所以我们要把 Pipeline 脚本放到项目中,一起进行版本控制,这样也不会因为 Jenkins 的崩溃而导致脚本丢失

  1. 在项目根目录建立 Jenkinsfile 文件,把内容复制到该文件中

      编写好文件后,把代码推送到远程仓库

  2. 在 Jenkins 中引入该脚本文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849487.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号