GitHub Actions可以很方便实现CI/CD工作流,类似Travis的用法,来帮我们完成一些工作,比如实现自动化测试、打包、部署等操作。
配置密钥
首先生成密钥。
在当前仓库Settings->Secrets->New repository secret添加私钥。
1、在Name填写GITHUB_ACTIONS_KEY。
2、在Value填写生成的私钥。
在被克隆、推送的私有仓库Settings->Deploy keys->Add deploy key添加公钥。
1、在Title填写GITHUB_ACTIONS_PUB。
2、在Key填写生成的公钥。
编写 Github Actions
在当前仓库根目录下创建.github/workflows/actions.yml,编辑actions.yml。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| name: Github Actions
on: push: branches: - main
jobs: build:
runs-on: ubuntu-latest
steps: ...
- name: Set env env: ACTIONS_KEY: ${{ secrets.GITHUB_ACTIONS_KEY }} run: | mkdir -p ~/.ssh/ echo "$ACTIONS_KEY" > ~/.ssh/id_rsa chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa ssh-keyscan github.com >> ~/.ssh/known_hosts git config --global user.name "username" git config --global user.email "user@email.com"
- name: Git clone run: | git clone git@github.com:username/repository.git
- name: Git push run: | cd repository git add -A git commit -m "commit" git push -u origin main
|
然后将本仓库推送到GitHub上即可自动执行。