返回
GitHub Actions 搭建 Jenkins/CD 自动化构建链
Android
2024-02-15 04:52:00
利用 GitHub Actions 实现 Jenkins/CD 自动化构建链
在当今快节奏的软件开发环境中,自动化构建和持续部署 (CD) 是至关重要的。它们能够显著提升开发效率,减少错误,确保应用程序持续保持最新状态。本文将逐步指导您如何使用 GitHub Actions 在 GitHub 上设置 Jenkins/CD 自动化构建链。
先决条件
为了成功完成本教程,您需要:
- GitHub 帐户
- Docker
- 具有 root 用户权限的 Ubuntu 18.04 宿主机
步骤 1:创建 GitHub Actions 工作流
- 创建一个名为
.github/workflows/ci-cd.yml
的新文件。 - 添加以下 YAML 内容:
name: CI/CD
on:
push:
branches: [ main ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v1
with:
java-version: '8'
- uses: gradle/gradle-build-action@v2
with:
arguments: build
deploy-to-production:
needs: build-and-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: docker/build-push-action@v1
with:
username: dockerhub-username
password: dockerhub-password
repository: dockerhub-repo/image-name
tag: latest
- uses: cloudflare/wrangler-action@1
with:
command: publish
api_token: cloudflare-api-token
project: cloudflare-project-id
- on: 指定触发工作流的事件,在本例中为推送到主分支。
- build-and-test: 在 Ubuntu 虚拟机上构建和测试项目。
- deploy-to-production: 依赖于
build-and-test
作业,将项目部署到生产环境。
步骤 2:设置 Jenkins
- 在宿主机的
/var/jenkins_home
目录中创建以下文件:- config.xml:Jenkins 配置文件
- credentials.xml:存储用于访问仓库、注册表和其他服务的凭据
- 修改
config.xml
文件:
...
<clouds>
<docker-cloud name="docker-hub" apiUrl="https://hub.docker.com/" credentialsId="dockerhub-credentials" verifyCertificate="false" serverFingerprint="false"/>
</clouds>
...
- 修改
credentials.xml
文件:
...
<credentials>
<docker-hub-credentials id="dockerhub-credentials" username="dockerhub-username" password="dockerhub-password"/>
<cloudflare-api-token id="cloudflare-api-token" secret="secret-cloudflare-api-token"/>
</credentials>
...
步骤 3:启动 Jenkins
使用以下命令启动 Jenkins:
docker run -d -p 8080:8080 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins
结论
通过遵循本指南中的步骤,您已经成功建立了使用 GitHub Actions 在 GitHub 上进行 Jenkins/CD 自动化构建的管道。这将显著提高您的开发效率,并确保您的应用程序始终处于最新状态。
常见问题解答
-
如何修改我的工作流以使用不同的触发器?
- 在
.github/workflows/ci-cd.yml
文件中的on
部分修改事件。有关可用触发器的列表,请参阅 GitHub 文档。
- 在
-
如何向我的项目添加额外的构建步骤?
- 在
build-and-test
作业的steps
部分添加额外的步骤。有关可用步骤的列表,请参阅 GitHub Actions 文档。
- 在
-
如何部署到不同的环境?
- 在
deploy-to-production
作业中创建单独的步骤,用于部署到每个环境。
- 在
-
如何调试我的工作流?
- 使用 GitHub Actions 提供的日志功能,检查工作流执行期间发生的事件。
-
如何获得 GitHub Actions 的支持?
- 访问 GitHub Actions 文档或加入 GitHub 社区论坛寻求帮助。