Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add actions secret #28

Merged
merged 1 commit into from
Jun 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 46 additions & 3 deletions doc/github-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@
> [!NOTE]
> 個々のツールの GitHub Actions の実行方法はツールごとのドキュメント参照。

## README にバッチをつける
## README バッチをつける

### GitHub Actions の Workflow
### GitHub Actions の Workflowの結果をバッチで表示

- リポジトリのActionsのページから**Create status badge**をクリックしてREADME.mdに貼り付ける。

![バッチのつけかた](./fig/badge.png)

### license を示すバッチをつける
### license を示すバッチ(おまけ)

Actionsに関係なくLICENSEファイルを配置しておけばよい

- `https://img.shields.io/github/license/<Github-Username>/<Repository>`のようにしてつける。
![no license](https://img.shields.io/github/license/RyosukeDTomita/devsecops-demo-aws-ecs)
Expand All @@ -20,15 +22,56 @@

## 特定のコミットを使って actions を実行する

コミットハッシュをつかうことでactionsで使うライブラリのバージョン管理ができる。

```yaml
actions/setup-python@コミットハッシュ
```

---

## GitHub ActionsでSecretを扱う

> [公式ドキュメント](https://docs.github.com/ja/actions/security-guides/using-secrets-in-github-actions)

### 2種類のシークレット

- Environment Secret: Environmentを作成して値を区別して使用できる。Environmentはリポジトリに対して複数作成できる。
- Repository Secret: リポジトリで共通の値を使う。

### 使用方法

> [GitHub CLIでリポジトリへsecretを設定](https://zenn.dev/hankei6km/articles/set-secret-to-repo-with-githubcli)
> [GitHub Actionsで機密情報を扱う方法](https://qiita.com/ak2ie/items/4fbcdf74e7760c49c1af)

- 個人的には.envから一括投入するのが使いやすそう。今回の例では--envを指定しているが指定しないとRepository Secretになる。

```shell
cat .env
API_TOKEN=xxxxxxxx
gh secret set --env environment名 --env-file .env
gh secret list --env development
```

- GitHub actionsのyamlから参照する。

```yaml
jobs:
runs-on: ubuntu-latest
environment:
name: development # actionsのsecretの参照先を指定

steps:
-run: |
echo ${{ secrets.API_TOKEN }}
```

---

## CodeQLを使ってファイルを出力

### Advanced Security must be enabled for this repository to use code scanning 403: GitHub Advanced Security is not enabled

- publicリポジトリ以外で使用していると出るエラー。

- [公式ドキュメント](https://docs.github.com/ja/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled)を見ると
Expand Down
Loading