Docker 컨테이너로 나만의 GitHub 작업 빌드
6180 단어 devopsdockergithubgithubactions
이 게시물에서는 Dockerfile을 사용하여 재사용 가능한 GitHub Action을 빌드하는 방법을 간략하게 살펴보겠습니다.
더 자세히 알아보려면 GitHub Actions: Write Docker container actions 과정을 확인하십시오.
시작하다
대부분의 GitHub Actions는 오픈 소스 GitHub 리포지토리이므로 커뮤니티 구축 Actions를 쉽게 검색하고 발견할 수 있습니다. 고유한 작업을 생성하려면 먼저 GitHub 리포지토리를 생성하고 해당 리포지토리에 Dockerfile이 필요합니다. Docker에 대한 전문가일 필요는 없지만 높은 수준에서 Docker를 사용하면 코드를 스크립트로 실행할 수 있습니다.
이 작업에서 Docker 이미지(알파인)는 bash 스크립트를 실행할 수 있는 환경을 제공합니다. 지금까지 Dockerfile에 몇 가지 Docker 항목을 넣고 계속 진행할 수 있습니다.
지적해야 할 것 중 하나는 ENTRYPOINT의 생성입니다. An
entrypoint.sh
은 bash를 작성하는 곳입니다. 다른 언어가 선호되는 경우 index.rb
또는 index.js
가 될 수 있습니다. 우리에게 가장 필요한 것은 진입점을 위한 실행 파일입니다.또한 실행 가능 여부와 그 의미에 대해 설명하고 싶습니다. 파일 경로만 사용하여 명령줄에서 실행할 수 있음을 의미합니다. 쉬운 스크립팅에 도움이 됩니다. 실행 파일을 만들기 위해 이것을 작성할 수 있는 다른 언어가 있습니다. 예를 들어 설명과 이 코드를 이미 mash로 작성했기 때문에 오늘은 bash를 고수할 것입니다.
// Dockerfile
FROM alpine
RUN apk add --no-cache jq
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
아래 bash 코드는 작업 실행기의 표준 환경 변수 중 하나인 GITHUB_EVENT_PATH에서 몇 가지 항목을 검색합니다. 코드에는
.take
키워드가 포함되어 있음을 확인하는 주석 본문에 대한 조건도 포함되어 있습니다.// entrypoint.sh
#!/bin/sh
BODY="$(jq '.comment.body' $GITHUB_EVENT_PATH)"
ISSUE_NUMBER="$(jq '.issue.number' $GITHUB_EVENT_PATH)"
LOGIN="$(jq '.comment.user.login' $GITHUB_EVENT_PATH | tr -d \")"
REPO="$(jq '.repository.full_name' $GITHUB_EVENT_PATH | tr -d \")"
if [[ $BODY == *".take"* ]]; then
echo "Assigning issue $ISSUE_NUMBER to $LOGIN"
echo "Using the link: https://api.github.com/repos/$REPO/issues/$ISSUE_NUMBER/assignees"
curl -H "Authorization: token $GITHUB_TOKEN" -d '{"assignees":["'"$LOGIN"'"]}' https://api.github.com/repos/$REPO/issues/$ISSUE_NUMBER/assignees
fi
bash의 끝에서 우리는 GitHub API와 직접 통신하기 위해 curl 명령을 활용하고 있습니다. 이 curl 명령은 단순성을 위한 것입니다. 이 모든 작업은 octokit.rest.js 또는 더 나은 github-script 라이브러리를 사용하여 수행할 수 있습니다.
이제 이를 GitHub에 푸시하여 저장소에서 테스트할 수 있습니다. 내 리포지토리bdougie/take-action에서 이 실제 작업을 활용하여 내 작업에서 응답을 받았는데 제대로 작동한 것 같습니다.
이 튜토리얼의 전체 버전에 관심이 있는 경우 이전에 YouTube에서 녹화한 동영상에서 발췌한 것입니다.
이것은 28일간의 Actions 시리즈의 일부입니다. 더 많은 GitHub 작업 팁에 대한 알림을 받으려면 여기 Dev에서 GitHub 조직을 팔로우하세요.
actions-toolkit CLI를 사용하여 자체 GitHub 작업 생성
Brian Douglas ・ 2월 15일 ・ 2분 읽기
#github
#devops
#githubactions
Reference
이 문제에 관하여(Docker 컨테이너로 나만의 GitHub 작업 빌드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/github/build-github-actions-with-a-docker-container-37e2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)