持续集成/持续交付自动化构建操作以弥合开发和运营之间的差距
有时需要向客户或其他团队成员(例如 QA 团队)提供 Android APK。创建 APK,然后您上传一些云服务以下载其他云服务。
您仅提供 APK 的计划似乎是一项漫长的任务。如果它自动发生不是很好吗?
以下是创建管道的方法,当您的代码推送到您的分支时,GitHub 会在该管道中构建 APK。
第一步:创建文件夹和 YAML 文件
• 在项目的根文件夹中——创建一个.github 文件夹
• 以及在工作流中创建另一个文件夹
• 在工作流文件夹中——创建一个 app-job-on-push.yaml 文件
第二步:编写一个动作来执行创建项目构建的操作。
name: android-paging-coroutine
on: push:
branches:
- master jobs: build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Build with Gradle
run: ./gradlew build
- name: Build APK
run: ./gradlew :app:assembleDebug
- uses: actions/upload-artifact@v2
with:
name: Package
path: app/build/outputs/apk/debug/
第三步:执行权限——在将代码推送到你的分支之前
您需要更新 gradlew 文件的执行权限。
- 您也可以使用 Git Bash 或终端、CMD 来执行此操作。
本地:chmod +x gradlew
Git:
git update-index --chmod=+x gradlew
git add .
git commit -m "Changing permission of gradlew"
git push
You should see:
mode change 100644 => 100755 gradlew
- 当您将代码推送到分支时,您将看到工作流运行操作,如下所示
在“操作”选项卡中,您将看到工作流名称如下
工作流将自动构建项目并生成包含 APK 文件的输出工件包。
工作完成后,您将能够下载您的软件包。
需要 APK 的用户现在可以仅访问该工作流包链接。
但是——每次你将代码推送到分支时,这都会创建一个构建。
或者——我们也可以手动操作。这将允许我们随时构建 APK。
- 为此,您必须在 YAML 文件中创建一个手动作业,如下所示,当您手动运行它时,它将分派您的工作流。
name: android-paging-coroutine
on:
workflow_dispatch:
inputs:
branch:
description: 'Branch'
required: true
default: 'master'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: "${{ github.event.inputs.branch }}"
submodules: 'true'
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Gradle
run: ./gradlew build
- name: Build APK
run: ./gradlew :app:assembleDebug
- uses: actions/upload-artifact@v2
with:
name: Package
path: app/build/outputs/apk/debug/
#path: app/build/outputs/
#path: [MODULE]/build/outputs/
retention-days: 2
保留天数将在您设置的天数内删除您的构建
→ 推送到分支后,找到操作选项卡。除非您手动启动,否则将有另一个工作流程不会运行。
您现在可以通过单击运行工作流按钮来运行工作流
之后,它将开始构建过程以创建工件。
希望你觉得有用🤝