그 기계는 사용자가 필요 없어요!GiitHub Apps로 GiitHub Actions를 활용하세요.
9914 단어 CircleCIGitHub ActionsCItech
개시하다
안녕하세요!하미주식회사 거예요.
기본적으로 GiitHub Actions에는 환경 변수를 설정하여 사용하면 Actions가 트리거하는 창고를 조작할 수 있는 비밀
GITHUB_TOKEN
이 있습니다.GITHUB_토키오에 대한 비밀.
이것은 이렇게 하면 매우 편리하지만, 특정 조건을 지정할 때 약간의 문제가 있다.
CI에서 다른 창고를 사용하려면 어떻게 해야 합니까?
위에서 말한 바와 같이
GITHUB_TOKEN
에서 권한 범위는 Action이 촉발하는 창고에 의해 제한된다.따라서 아래의 용례에 적용되지 않는다.기릿허브도 규약상 기기 사용자를 허용했다.
3. 계좌 요구
컴퓨터 계정은'계정'대신'규약'을 받아 유효한 메일 주소를 제공하고 이를 담당하는 개인이 설정하는'계정'을 말한다.컴퓨터 계정은 자동화 작업을 수행하는 데만 사용됩니다.여러 사용자가 컴퓨터 계정의 조작을 지시할 수 있지만 컴퓨터 조작에 대해 책임을 지는 것은 계정의 소유자다.무료 사용자 계정을 제외하고는 여러 개의 무료 컴퓨터 계정을 저장할 수 없다.
간단할 뿐만 아니라 규칙적으로도 기계 사용자를 아무런 문제 없이 만들 수 있지만 단점도 있다.
GiitHub Apps를 이용하면...
다음은 GiitHub Apps와 그 사용 방법, 설정 방법에 대해 설명합니다.
GiitHub Apps란?
아무튼 출석부터 부르고.
GitHub Apps
GiitHub Apps란 무엇입니까?이 글은 이해하기 쉬우니 참고하세요!
제작 학습 GiitHub Apps
전통적인 OAuth Apps는 설치 - 사용자가 창고에 대한 권한을 삭제하거나 잃을 때 사라집니다 - 사용자가 방문 영패를 취소하지 않으면 영구적으로 유효합니다.
이와 달리 GiitHub Apps는 창고의 설치 - 창고의 소유자(Organization 및 User)에 올바르게 설치되어 창고에 배급하는 인상을 준다.
쉽게 말해 OAuth Apps는 사용자 단위 앱이고, GiitHub Apps는 창고 단위 앱이다.
이렇게 간결하면 알기 쉽다.
구축 합병의 결정의 그림도 따뜻해서 이해하기 쉽다.
그렇다면 다음은 실제로 GiitHub Action에 GiitHub Apps를 어떻게 설정한 건가요?이렇게 말하다.
방법
GiitHub Apps 만들기
https://github.com/organizations/{org 이름}/settings/appls
"프로그램 만들기"를 누르십시오.
GitHub App name
응용 프로그램의 이름을 지어 주세요.Homepage URL
맞으면 돼요.Webhook
검사를 취소해 주십시오.권한은 필요한 것을 가지고 간다.
Active
를 원하면 git clone
의 Repository permissions
를 Contents
이상으로 설정하십시오.GiitHub App 설치
https://github.com/organizations/{org 이름}/settings/apps/{app 이름}
Read
를 눌러 개인 키를 만듭니다.이 개인 키를 사용하여 CI에서 임시 영패를 발행할 것이니 조심해서 보관하십시오.
그리고 AppID도 적어주세요.
https://github.com/organizations/{org명}/settings/apps/{app명}/installations
어플리케이션에 액세스하여 설치합니다.
창고를 선택할 때 접근할 수 있는 창고를 지정합니다.
설치 후 아래 링크에서 창고의 권한을 변경할 수 있습니다.
https://github.com/organizations/{org 이름}/settings/installations/{AppID}
비밀을 설정하다
다음 두 점을 CI 개체 창고의 비밀로 지정합니다.
https://github.com/{org 이름}/{창고 이름}/settings/secrets/actions
CI에서 토큰을 발행하다
여기까지 하고 CI에서만 사용했어요!
개인 키와 AppID에서 임시 토큰을 게시하는 작업은 다음 Actions를 사용하여 간단히 수행할 수 있습니다.
이런 느낌이에요.
jobs:
job:
runs-on: ubuntu-latest
steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PRIVATE_KEY }}
# Optional (defaults to ID of the repository's installation).
# installation_id: 1337
# Optional (defaults to the current repository).
# repository: "owner/repo"
- name: Use token
env:
TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
echo "The generated token is masked: ${TOKEN}"
덤
GiitHubActions의 추가 달력이며, CircleaCI의 경우 사용법을 첨부합니다.
자신의 앞에서 기호화폐를 발행하는 것은 매우 번거롭기 때문에 아래의 도구를 사용했다.감사합니다.
jobs:
first:
executor: hogehoge
steps:
- checkout
- run: |
wget https://github.com/mackee/git-credential-github-apps/releases/download/v1.1.1/git-credential-github-apps_1.1.1_Linux_x86_64.tar.gz
tar -zxvf git-credential-github-apps_1.1.1_Linux_x86_64.tar.gz
chmod 755 git-credential-github-apps
mv git-credential-github-apps /usr/bin/git-credential-github-apps
- run: |
echo -e $PRIVATE_KEY > /tmp/key.pem
export $(echo -e 'host=github.com\nprotocol=https' | git-credential-github-apps -privatekey /tmp/key.pem -appid $APP_ID -login {{org名}} get | grep password)
export GIT_TOKEN=$password
끝말
아이고, 설정이 귀찮네.
필요한 권한 문제 등으로 기계 사용자와
Generate a private key
도 적합한 부분이 있어 균형을 잡으면서 능숙하게 사용하고 싶어요![1] GitHub Actions Advent Calendar 2021, 7일째인 내일은 kt15의 "최근 공개된 자작 Action"!
각주
GiitHub App과 OAuth App의 차이점 ↩︎
Reference
이 문제에 관하여(그 기계는 사용자가 필요 없어요!GiitHub Apps로 GiitHub Actions를 활용하세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tatsuo48/articles/72c8939bbc6329텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)