WeAir

GitHub Actions克隆、推送到私有仓库

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上即可自动执行。