首页 > 其他分享 >Jenkins安装与使用

Jenkins安装与使用

时间:2024-07-21 21:51:26浏览次数:10  
标签:Pipeline GitHub 使用 webhook jenkins Jenkins sudo 安装

Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。

官网: https://www.jenkins.io/zh/

Debian12安装Jenkins

官方指导: https://pkg.jenkins.io/debian-stable/

主要步骤:

# 添加密钥
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
    https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

# 添加apt库列表
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \
    https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
    /etc/apt/sources.list.d/jenkins.list > /dev/null

# 更新本地包索引
sudo apt-get update

# 安装jre
sudo apt-get install fontconfig openjdk-17-jre

# 安装jenkins
sudo apt-get install jenkins

# 查看jenkins状态
sudo systemctl status jenkins

# 访问jenkins页面 http://localhost:8080
# 获取解锁密钥
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# 根据页面提示安装插件,配置管理员账号

使用Jenkins创建流水线

在Github上创建一个python flask项目,并在tests目录下创建单元测试。当推送代码到仓库时,通过GitHub webhook触发器通知Jenkins执行流水线任务。

1.安装插件

在路径Jenkins Dashboard -> Manage Jenkins -> Manage Plugins -> Available搜索

  • GitHub Integration
  • Git
  • Pipeline

其中Git,Pipeline默认已安装,可在Installed plugins中查看

2.创建 Jenkins Pipeline 项目

创建 Pipeline 项目

  1. 在 Jenkins 主界面,点击"New Item"
  2. 输入项目名称,例如"Python_Project"
  3. 选择"Pipeline"
  4. 点击"OK"

配置 Pipeline 项目

在"Pipeline"部分,选择"Pipeline script"

pipeline {
    agent any
    environment {
        FLASK_APP = 'src/app.py'
        VENV_DIR = 'venv'
    }
    stages {
        stage('Clone Repository') {
            steps {
                git branch: 'main', url: 'https://github.com/<your_name>/<your_project>.git'
            }
        }
        stage('Setup Virtual Environment') {
            steps {
                sh 'python3 -m venv ${VENV_DIR}'
                sh '. ${VENV_DIR}/bin/activate'
            }
        }
        stage('Install Dependencies') {
            steps {
                sh '. ${VENV_DIR}/bin/activate && pip install --default-timeout=100 -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt'
            }
        }
        stage('Run Unit Tests') {
            steps {
                sh '. ${VENV_DIR}/bin/activate && pytest tests/'
            }
        }
    }
    post {
        always {
            echo 'Pipeline completed.'
        }
        success {
            echo 'Pipeline succeeded.'
        }
        failure {
            echo 'Pipeline failed.'
        }
    }
}

3.启用 GitHub webhook 触发器

进入 Jenkins 项目配置,在"Build Triggers"部分,勾选"GitHub hook trigger for GITScm polling"

4.配置 GitHub Webhook

  1. 进入 GitHub 仓库
  2. 点击"Settings"
  3. 选择"Webhooks"
  4. 点击"Add webhook"
  5. 在"Payload URL"中输入 Jenkins 服务器地址和 GitHub Webhook 的 URL
    http://your-jenkins-server/github-webhook/
  6. 设置"Content type"为"application/json"
  7. 在"Which events would you like to trigger this webhook?"部分,选择"Just the push event"
  8. 点击"Add webhook"

配置完成后,查看"Recent Deliveries"是否成功。

5.测试流水线

执行任务,在Console Output查看日志

标签:Pipeline,GitHub,使用,webhook,jenkins,Jenkins,sudo,安装
From: https://www.cnblogs.com/rustling/p/18315009

相关文章

  • 【机器学习】机器学习的基本知识点(包括背景、定义、具体内容、功能、使用场景、操作、
    引言机器学习是一门涉及多个领域的交叉学科,它主要研究如何让计算机模拟或实现人类的学习行为,以获取新的知识或技能,从而改善系统性能。它是人工智能的核心部分,并且与概率论、统计学、逼近论、凸分析、算法复杂度理论等多个学科相关。文章目录引言一、机器学习的背景二......
  • OpenCV 遍历Mat,像素操作,使用TrackBar 调整图像的亮度和对比度 C++实现
    文章目录1.使用C++遍历Mat,完成颜色反转1.1常规遍历方式1.2迭代器遍历方式1.3指针访问方式遍历(最快)1.4不同遍历方式的时间对比2.图像像素操作,提高图像的亮度3.TrackBar进度条操作3.1使用TrackBar调整图像的亮度3.2使用TrackBar调整图像的对比度1.使用C++遍历M......
  • java入门—JDK下载、环境配置、IDEA开发工具使用
    JavaSE入门—初识Java、JDK开发环境下载、Path环境配置、IDEA开发工具下载、HelloWorld详解1.Java概述1.1Java发展概述1.2Java语言特点及应用1.3Java技术体系2.Java的开发环境(JDK)搭建2.1JDK的下载2.2JDK与JRE3.Java环境配置3.1path、JAVA_HOME环境变量配......
  • SQL server基于报错的注入(使用sqlmap进行get shell)
    SQLserver基于报错的注入1.访问MSSQLSQLiLabs网站点击按钮,我们使用GET请求上传参数“id”,当id=1时,页面显示id=1的用户名Dump、密码Dump:2.寻找注入点http://[靶机IP]/less-1.asp?id=1'运行后报错,说明我们可以利用参数“id”作为我们的注入点,根据回显我们可以判断这是字......
  • 超好用!空号检测接口使用与调用示例
    空号检测接口是通过调用第三方提供的API接口,实现对手机号码是否为空号的检测服务。它可以帮助快速、准确地识别出无效号码,避免无效的通信,提高通信效率,适用于短信群发、电话营销、注册验证等场景。一、在选择空号检测接口时,你可以考虑以下因素:1.数据准确性:确保接口提供的检......
  • 移动硬盘在苹果电脑上使用后在windows中无法读取 Win和Mac的硬盘怎么通用
    在日益普及的跨平台工作环境中,苹果电脑与WindowsPC之间的数据交换成为日常需求。然而,用户常面临一个困扰:为何苹果电脑的硬盘能在macOS下流畅运行,却在Windows系统中变得“水土不服”?这一问题核心在于硬盘格式的不兼容性,尤其是苹果采用的HFS+与Windows主流的NTFS之间的屏障。一......
  • 基于Docker安装elasticsearch和kibana 8.14.3
    需要先安装好Docker和DockerCompose安装的是单机版本的elasticsearch一、安装elasticsearch8.14.3复制下面的内容到elasticsearch-compose.yaml中services:elasticsearch:image:docker.elastic.co/elasticsearch/elasticsearch:8.14.3container_name:ela......
  • CentOS安装显卡驱动、修改分辨率和解决黑屏问题
    【系列】真机安装CentOSStream8问题第一步解决安装过程报错第二步分区第三步配置软件源第四步安装显卡驱动(❗︎本节内容❗︎)第五步挂载U盘第六步解决没有1920x1080分辨率的问题文章目录【系列】真机安装CentOSStream8问题一、下载显卡驱动二、安装驱动步骤......
  • 安装CentOS Stream 8时,报错 “started cancel waiting for multipath siblings of nvm
    【系列】真机安装CentOSStream8问题第一步解决安装过程报错(❗︎本节内容❗︎)第二步分区第三步配置软件源第四步安装显卡驱动第五步挂载U盘第六步解决没有1920x1080分辨率的问题文章目录【系列】真机安装CentOSStream8问题一、报错描述二、解决方法常见启动......
  • scottplot5 中 使用signalXY图,如何更新数据?
    ......