[CI/CD]簡易テスト
12626 ワード
yml設定
Actionsタブにはいくつかの有用なプラグインがあります
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: test-CI
# 이름. 이후에 CI가 동작하는 과정에서 이름으로 뜸.
on: # 어떤 경우에 아래 동작을 시행할 것인가?
push: # 코드를 push 할 때랑
branches: [ main ]
pull_request: # Merge Request가 날라올 때 쓴다
branches: [ main ]
jobs: # 실제 돌아갈 동작
build:
runs-on: ubuntu-latest # 우분투 최신 버전으로 아래 명령어들을 돌린다.
strategy: # 매개변수 이름을 지울 때 주로 씀..
matrix:
node-version: [12.x, 14.x, 16.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps: # 돌아가는 동작들은 여기서 수행.
# -는 각각의 동작을 의미
- uses: actions/checkout@v2 # 플러그인 사용.
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm run build --if-present
- run: npm test
Discordロボットの接続
setting-webhooks追加
(その前にdiscordにはチャンネル権限が必要です)
プッシュするたびにロボットと基本動作をチェックします
buildとtestの分割
今.
需要オプションの設定
test:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
node-version: [12.x, 14.x, 16.x]
steps:
- run: npm test
npm ERR! enoent ENOENT: no such file or directory, open '/home/runner/work/CI-CD-test/CI-CD-test/package.json'
次のように内容を追加します.
test:
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
node-version: [12.x, 14.x, 16.x]
steps:
- uses: actions/checkout@v2 # 플러그인 사용.
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
依存性を受け取るたびに面倒で複雑になります.方法はもちろんある
Hint: actions/cache, actions/upload-artifacts, actions/download-artifacts
今はCDも。
Github<->HEROKUでテスト
HEROKU加入済み
作成した空のymlファイルで「変更」ボタンをクリックします.
プラグインの使用
Deploy to Heroku検索
->dashboardの取得->createnewapp->Github action Heroku pluginのapiキーの使用
作成
Heroku Key secretsタブを使用して非表示
name: test-CD
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: "14"
- name: Install Dependencies
run: npm ci
- name: Run Tests
run: npm test
- name: Deploy to Heroku
uses: AkhileshNS/heroku-[email protected]
with:
heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
heroku_email: "[email protected]"
heroku_app_name: "elice-elice-cd"
成功
Reference
この問題について([CI/CD]簡易テスト), 我々は、より多くの情報をここで見つけました https://velog.io/@jiseong/CICD-간단한-테스트テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol