-
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: docker://node:12.14.1-alpine3.10 with: entrypoint: '/bin/echo' args: 'Hello World' - name: Sencod Log node version uses: docker://node:12.14.1-alpine3.10 with: entrypoint: '/usr/local/bin/node' args: '-v' - name: checkout code uses: actions/checkout@v1 - name: add execute permission to script.sh run: chmod +x script.sh - name: List my files uses: docker://node:12.14.1-alpine3.10 with: entrypoint: ls args: '-la' - name: Run my own script uses: docker://node:12.14.1-alpine3.10 with: entrypoint: ./script.sh args: 'windbird'
script.sh 를 아래처럼 작성하고, repository root 에 추가한다. #!/bin/bash 가 아니라 #!/bin/sh 사용에 주의
#!/bin/sh echo $1 echo "Hello World"
결과
설명
container.image 로 지정된 docker image 가 default 로 사용되고, 특정 step 에서 docker container 를 변경하려면 uses 로 지정해 준다.
'github actions' 카테고리의 다른 글
실습: CI/CD 구성해 보기 (0) 2022.03.07 slack 으로 메시지 보내기 (0) 2022.03.07 Matrix 를 이용해 다양한 환경을 한번에 실행하기 (0) 2022.03.07 여러 node 버전을 동시에 사용하기 (0) 2022.03.07 Continue on Error & Timeout (0) 2022.03.06