🧑‍🏫
liualexiang
  • Introduction
  • Azure
    • AKS Basic
    • AKS Spark
    • AZ ACR SYNC
    • Azure CMI SDWAN
    • Azure LB DeepDive
      • Azure LB DeepDive
    • Azure Service Principal Basic
    • Azure Internal VM Network Connectivity
      • Azure Internal VM Network Connectivity
    • Azure Cli Build
    • Azure Vm Memory Monitor
  • Blockchain
    • BTC
  • CRISPR
    • 使用Parallel_Cluster提升CRISPA效率
  • OpenSource
    • ElasticSearch
      • ES Get Started
      • ES Search Query
      • Kibana 可视化
      • Logstash配置
    • Ansible 基础
    • Infra As Code
      • Pulumi Get Started
      • Terraform Basic
    • ZooKeeper 基础
    • RPC与REST
    • 使用Python申请大量内存测试
    • 使用TPC_DS产生压测数据
    • Superset
      • Superset部署手册
    • 代码扫描
    • Git
      • Git Basic
      • Github Action Basic
      • Gitlab与AzureAD集成
      • Gitbook 基础教程
    • K8S
      • enter_node
      • K8s X509 Client Cert
      • K8s Basic
      • K8s Oidc
      • Docker 基础
      • helm基础
      • K8S_Secrets管理
      • 深入了解K8S
      • 混沌工程
      • Istio
      • 生态
      • CRD开发
      • k8s网络
    • Cloud_Custodian
    • Jenkins Basic
    • Nginx
    • ETCD
    • 正则
    • VictoriaMetrics
    • Kafka
  • MySQL
    • MySQL 调优
  • Linux
    • SSH Tunnel 上网
    • 内存管理
    • 在Linux系统中通过LUKS加密磁盘
    • 量子计算 Basic
    • IO多路复用
    • Iptables
    • tmux和screen
    • Systemd
    • OS 基础
    • jq基础
    • yum
    • neovim
  • Web
    • Html Css
    • Web部署
    • 缓存
  • Programming
    • 算法
      • 返回list中最大生序子序列长度
    • Python技巧
      • Python的语法糖
      • Python常用装饰器
      • AsyncIO基础
      • 自动化测试pytest
      • python中的下划线
      • 面向对象
      • Python的坑
      • Python配置文件管理
      • HTTP Stream Response
      • Python项目管理
    • 设计模式
      • 设计模式
      • 面向对象的思想
      • 编程概念
    • Go
      • Go 基础
      • Go常用功能
      • 结构体入门
    • 前端
    • Vue
    • NodeJS
  • Math
    • 多项式插值法
  • Security
    • HTTP常见攻击
    • 加密与签名
    • RSA
    • ECDSA
  • Solidity
    • Solidity基础
    • Blockchain Testnet Faucet
  • Tools
    • 视频处理ffmpeg
    • IDE配置
    • iTerm2美化
    • 密码管理
    • FRP配置
    • 工具集
由 GitBook 提供支持
在本页
  • 先决条件
  • Jenkins参数化构建
  • Jenkins Master/Slave架构
  • 定义Jenkins 触发器
  • 更改Jenkins源,提高下载插件的速度
  1. OpenSource

Jenkins Basic

先决条件

  1. 需要安装 java

sudo yum install java -y
  1. 通过yum 安装jenkins

参考链接:https://www.cnblogs.com/stulzq/p/9291237.html

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

yum install jenkins

sudo systemctl start jenkins  
# 之后访问该机器的8080端口即可访问到Jenkins,默认密码在  /var/lib/jenkins/secrets/initialAdminPassword 这个路径,也可以在 /var/log/jenkins/jenkins.log 中看到

Jenkins参数化构建

Jenkins 在General面板中的参数化构建,可以在构建的时候传参数。比如添加一个 branch1的字符/文本参数,值为 master,那么在构建的命令中可以通过 echo ${branch1} 来调用. 在构建的时候,以前是立即构建,现在就变成了build with parameters

推荐另外安装一个 Extended Choice Parameter的插件,这样在使用参数化构建过程的时候,可以添加Extended Choice Parameter的参数,能够通过下拉框的方式进行选择(单选,多选等)。这个插件的参数可以直接写在Jenkis中,也可以写到一个文件中。

再推荐一个 git Parameter 插件,这个插件可以直接获取git的分支号,版本等信息。 //需要在General 源码管理中,添加Git的用户名密码或者Private Key

Jenkins Master/Slave架构

可以将Jenkins作为前端,将构建任务交给Slave构建,解决单点性能不足,并提高可用性 配置方法: 在Jenkins系统管理--节点管理(默认只有master)---新建节点,然后指定名字,并发构建数,远程工作目录如/var/lib/jenkins(注意权限,需要ssh用户有权限到这个目录下创建文件),启动方式选择为:Launch agents via SSH,指定 ssh private key。高级选项中指定java路径如/bin/java。标签可以输入如web.

之后再创建任务的时候,勾选“限制项目的运行节点”,标签表达式输入web。这样任务就再web这个节点上运行。

定义Jenkins 触发器

常用的2种触发方式:

  1. 定时构建,如下配置每5分钟检查一次更新

H/5 * * * *
  1. 通过HTTP API触发,触发远程构建,输入身份验证令牌,如sess20200420,然后访问jenkins url后面的 JENKINS_URL/job/testpipe/build?token=TOKEN_NAME 地址进行触发。如:

http://40.73.102.61:8080/job/testpipe/build?token=sess20200420

提示说明:Use the following URL to trigger build remotely: JENKINS_URL/job/testpipe/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAME Optionally append &cause=Cause+Text to provide text that will be included in the recorded build cause.

  • 手动触发,定时触发和通过API触发,在日志中可以明确看出触发方式 示例: 手动触发: 启动用户alex 定时触发: 由定时器启动 API触发: 由远程主机 111.205.14.33 启动

更改Jenkins源,提高下载插件的速度

默认情况下国内访问国外Jenkins源安装插件速度很慢,可以改成国内的源。修改Jenkins default.json 文件(yum安装默认在 /var/lib/jenkins/updates/default.json) 在vim打开文件中,粘贴下面的命令来完成替换(如果手动输入了: 那么就只粘贴冒号后面的,请勿写2个冒号)

:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g

参考文档:https://www.cnblogs.com/hellxz/p/jenkins_install_plugins_faster.html

上一页Cloud_Custodian下一页Nginx

最后更新于3年前