来源: Datanyze 市场分析
Jenkins Pipeline 执行存储在代码旁的 Jenkinsfile
中声明的持续交付任务。 Pipeline 插件 在其源代码树中有一个相当全面的 教程。插件是增强 Jenkins 环境功能以满足组织或用户特定需求的主要手段。使用 Pipeline,您可以配置 Jenkins 自动部署关键基础设施组件,例如 Redis 数据库。
Jenkins Pipelines 是 Jenkins 的持续交付 (CD) 方面。它们使用 Jenkinsfile
声明性脚本定义管道的行为。您可以用 Groovy 编写脚本操作并从中运行 shell 脚本,因此您可以让它做几乎任何事情。
该 Jenkinsfile
指示 Jenkins 从凭据存储中导出一些环境变量以连接到 Redis 服务器,然后使用给定参数的部署配置文件执行 Python 管道脚本。一个示例 deployment-configuration-file.json
如下所示
{
"database": {
"name": "made-with-jenkins",
"port": 12345,
"size": "S",
"operation": "CREATE"
}
}
{
"name": "{NAME}",
"type": "redis",
"memory_size": 343597383
}
您可以使用 Docker Desktop 快速启动并运行 Jenkins 实例,公开端口 8080(Web GUI)和 50000(入站代理)。
docker run --name jenk -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts-jdk11
安装将在 docker-cli 输出中生成首次运行密码。
然后打开 Jenkins URL https://localhost:8080/ 并输入密码以解锁您的实例并开始安装。
等待插件完成安装过程。
如果您使用的是现有 Jenkins 服务器实例,则可以从该机器的命令行界面安装 Python 和自定义库。
可以使用以下命令通过 shell 访问 Jenkins 的 Docker 实例
docker exec -it -u root jenk bash
Python 管道脚本需要库 click
和 requests
。它还需要 Python。
apt-get update
apt-get install -y python3-pip
pip install --upgrade pip
pip install click
pip install requests
Dockerfile
中包含这些依赖项,该文件基于 Jenkins 基本映像构建:FROM jenkins:latest
USER root
RUN apt-get update
RUN apt-get install -y python-pip
# Install app dependencies
RUN pip install --upgrade pip
RUN pip3 install click
RUN pip3 install requests
使用左侧菜单,选择 管理 Jenkins,然后选择 管理凭据,然后单击链接 (全局).
在这里,您可以指定 Kind: Secret text 用于连接 Redis REST 端点的 4 个必需密钥
如果您使用的是私有代码存储库,您可能还想在此处包含一个个人访问令牌。
从仪表盘中,单击 新建项目.
输入管道的名称,并选择 管道 类型。
在出现的管道配置页面中,选中 GitHub 框并输入 git 克隆 URL,包含读取存储库所需的任何凭据。对于 GitHub 访问,密码应为个人访问令牌,而不是实际用户密码。
在此页面上向下滚动到 高级项目选项,您可以粘贴 Jenkinsfile
,或者,如果文件存在于 git 存储库中,您可以指定文件名。
Jenkinsfile
包含凭据到环境变量的映射,以及 2 个独立的阶段 - 始终成功的 Hello World 和调用 Python 脚本的构建阶段。将此粘贴到管道脚本部分。pipeline {
agent any
environment {
REDIS_SERVER_FQDN = credentials('REDIS_SERVER_FQDN')
REDIS_SERVER_PORT = credentials('REDIS_SERVER_PORT')
REDIS_USER = credentials('REDIS_USER')
REDIS_PASS = credentials('REDIS_PASS')
}
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
stage('build') {
steps {
git branch: 'main', url: 'https://github.com/masyukun/redis-jenkins-pipeline.git'
sh 'python3 jenkins-re-pipeline.py --deployfile deployment-configuration-file.json'
}
}
}
}
当作业规范完成时,单击“保存”。
单击您创建的管道
示例输出:您应该在“Shell 脚本”手风琴窗格中看到来自 Redis REST 服务的详细响应。
还存在一个“Git”输出日志,如果您需要在该级别进行调试,它会很有用。您在远程 git 存储库中更新分支的任何时候,都应该在该日志中看到最新更改已成功检出到本地 Jenkins git 存储库的证据。
https://servername:8443
处打开您的 Redis Enterprise 安全管理 UI,然后单击 数据库 菜单项以验证您的数据库是否已创建,名称、端口和大小在 deployment-configuration-file.json
文件中指定。恭喜!您已使用 Jenkins 管道部署了 Redis Enterprise 数据库!
GitHub 存储库当前为: https://github.com/masyukun/redis-jenkins-pipeline