github actions
-
실습: CI/CD 구성해 보기github actions 2022. 3. 7. 20:57
문제 기본 react.js app 으로 CI/CD 를 구성해 본다. app 생성 & 실행하기 npx create-react-app react-app --use-npm cd react-app npm run start app build 하기 npm run build app 테스트 실행하기 npm run test CI=true npm run test CI=true npm run test -- --coverage app 배포하기 실습을 위해 surge 를 활용한다. # surge 설치 npm install --global surge # 배포시 아래 명령 실행 후 build 디렉토리 위치를 지정 # interactive mode surge # domain 을 지정할 경우 nxp surge --project ./b..
-
slack 으로 메시지 보내기github actions 2022. 3. 7. 18:41
문제 https://hub.docker.com/r/technosophos/slack-notify/ 를 이용해 slack 으로 메시지를 보내보자. 코드 name: Container on: push jobs: docker-steps: runs-on: ubuntu-latest steps: - name: Send slack message uses: docker://technosophos/slack-notify env: SLACK_WEBHOOK: 'https://hooks.slack.com/services/Txxxxxx/Bxxxxxx/xxxxxxxx' SLACK_MESSAGE: 'Hello Slack'
-
docker container 에서 step 실행하기github actions 2022. 3. 7. 11:22
문제 docker container 에서 step 이 실행되도록 workflow 를 작성한다. 내가 만든 script.sh 가 docker container 에서 실행되도록 한다. (마치 docker run ... script.sh 처럼 실행되듯) 코드 name: Container on: push jobs: docker-steps: runs-on: ubuntu-latest container: image: node:13.5.0-alpine3.10 # volumes: # ports: # options: --cpus 1 steps: - name: Default Log node version run: | node -v cat /etc/os-release - name: Step with docker uses: d..
-
Matrix 를 이용해 다양한 환경을 한번에 실행하기github actions 2022. 3. 7. 10:49
문제 workflow 를 ubuntu, window 에서 node 버전을 바꿔가면서 실행하고 싶다. 코드 name: Matrix on: push jobs: node-version: strategy: matrix: os: [ubuntu-latest, windows-latest] node_version: [8, 10, 12] exclude: - os: ubuntu-latest node_version: 10 fail-fast: true max-parallel: 1 runs-on: ${{ matrix.os }} steps: - name: Log node version run: node -v - uses: actions/setup-node@v1 with: node-version: ${{ matrix.node_ve..
-
여러 node 버전을 동시에 사용하기github actions 2022. 3. 7. 10:34
https://github.com/actions/setup-node 를 참고해 workflow 에서 다양한 node version 을 사용해 보자. 코드 name: Matrix on: push jobs: node-version: runs-on: ubuntu-latest steps: - name: Log node version run: node -v - uses: actions/setup-node@v1 with: node-version: '12' - name: Log node version run: node -v 결과 참고: https://www.udemy.com/course/github-actions
-
Continue on Error & Timeoutgithub actions 2022. 3. 6. 22:01
특정 step 에서 에러가 발생하더라도, continue-on-error 를 사용해 해당 에러를 무시하고 다음 step 으로 진행할 수 있도록 해 보자. 참고로 github actions functions, if key and job status 에서처럼 if: failure() 를 사용하면 해당 step 만 실패일 경우 실행된다.그리고 step 마다 timeout-minutes 를 사용해 timeout 을 설정할 수도 있다. jobs: run-shell-command: runs-on: ubuntu-latest timeout-minutes: 360 steps: - name: echo a string run: echo "Hello World" continue-on-error: true - name: .....
-
github actions functions, if key and job statusgithub actions 2022. 3. 4. 17:58
Function example ame: Function testing on: push jobs: functions: runs-on: ubuntu-latest steps: - name: dump run: | echo ${{ contains('hello', 'll') }} echo ${{ startsWith('hello', 'he') }} echo ${{ endsWith('hello', 'lo') }} echo ${{ format('Hello {0} {1} {2}', 'world', '!', '!') }} github actions functions 참고 If 사용하기 name: If key on: push jobs: dump_contexts_to_log: runs-on: ubuntu-latest if: g..