Github 자체 관리 실행자 설치[업데이트]
이 변경 사항을 불러올 수 있는 Ubuntu 서버 가상 머신을 만들어 보기로 결정했습니다.Ubuntu 및 Github 설정은 아래에서 확인할 수 있습니다.
선결 조건:
Github 계정
VMWare 워크스테이션
Ubuntu 서버:
- https://ubuntu.com/download/server
VS 코드 또는 Github CLI에서 코드 푸시 방법
먼저 배포를 호스팅하기 위해 Ubuntu 서버를 VM으로 설정합니다.계속해서 수동 서버 설치 옵션을 다운로드하고 선택하십시오. 이 강좌에서 20.04 버전을 사용할 것입니다.
현재 당신은 당신이 필요로 하는 iso를 얻었기 때문에 계속 새로운 VM을 설치합니다.이 과정에서 몇 가지 옵션을 추가해야 합니다.
보시는cloud cli는 당신에게 유용할 수 있지만, 그럴 수 없습니다. 이것은 자동 실행 프로그램이기 때문에, 우리는 팽창을 최소화하기를 희망합니다.
설치 프로세스가 완료되면 외부 발송자가 SSH를 통해 서버에 연락할 수 있도록 라우터를 업데이트해야 할 수도 있습니다.자세한 내용은 https://portforward.com/
여기에는 서버의 IP 및 SSH 포트가 포함될 수 있습니다(22개).다음 섹션에서는 Github과 새 서버 간의 대량 통신에 대해 다룹니다.
https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners
이제 절차를 설정하기 위해 Github 작업을 설정해야 합니다.일단 비밀을 설정해야 돼.
설정 -> 기밀 정보 에서 보안 저장소에 대한 세부 정보가 저장된 위치를 찾으면 입력한 후에도 아무도 읽지 않습니다.New Repository Secret으로 이동하여 간단한 이름과 만들고 있는 자세한 정보 (서버 호스트 주소, 사용자 이름, 비밀번호 등) 를 입력하십시오. PKI 키로 이 동작을 수행할 수 있지만, 간단하게 보기 위해서 이 강좌는 사용자/비밀번호 설정을 사용합니다.
그 밖에 행동할 때, 당신은 스스로 달리기를 하는 사람을 세워야 한다."설정"옵션과 "조작"으로 돌아가서 밑에 있는 "자동관리 달리기"아래의 "달리기 추가"를 선택하십시오.
이 페이지의 설명에 따라 서버를 설정하여runner 작업을 수행합니다.
Git Hub에서 워크플로를 설정하려면 작업 탭과 새 워크플로로 이동합니다.이것은yaml 파일 설정을 따릅니다.
여기서는 기밀에 제공된 정보를 입력해야 합니다.
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
다음에 서버에서 실행할 스크립트를 입력합니다.현재 Github에서 출력할 명령만 입력하면 "ls"나 "whoami"와 같은 연결을 테스트할 수 있습니다.스크립트에서 실행 변경 사항은 다음과 같습니다.
runs-on: self-hosted
이것은 그것이 달리기 선수를 위탁 관리하기 위해 설계된 것임을 나타낸다.내 마지막 워크플로우 스크립트는 다음과 같습니다.
name: remote ssh command
on: [push]
jobs:
build:
name: Build
runs-on: self-hosted
steps:
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: |
cd /home/<USER NAME>/actions-runner/_work/samplenodejs/samplenodejs
git pull
npm install
npm build
ls -la
Github 작업의 발생을 확인하려면 Git 푸시만 하면 이 과정이 자동으로 시작됩니다.작업 탭으로 이동하여 성공 여부를 확인합니다.
만약 조작이 정확하다면, 웹 브라우저에서 출력을 볼 수 있을 것입니다. 만약 이것이 응용 프로그램의 최종 목적지라면.
업데이트:
나는 작업에 작업 흐름에 관한 정보를 추가할 것이다.
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: self-hosted
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Runs code deploy
uses: actions/checkout@v2
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
- name: Build npm
uses: actions/setup-node@v2
with:
node-version: "16"
- run: cd /home/..../<appname>/
- run: pwd
- run: npm ci
- run: npm test --if-present
- run: npm run build
- run: pm2 restart npm
사용: actions/checkout@v2선로가 이전과 달라졌다.This one는 appleboy의 ssh 조작 라이브러리에 대한 개선입니다.-name: Runs code deploy 아래에 열거되어 있음을 알 수 있습니다.name 표시는 다른 작업을 구분합니다.- name: Build npm
uses: actions/setup-node@v2
with:
node-version: "16"
이 부분은 분리되어 있으며, 이름과 다른 리포를 설정해서 사용합니다.이 임무는 npm와 관련이 있기 때문에 설정이 필요합니다-node@v2목표 기기의 버전이기 때문에 노드 버전 16을 지정합니다. - run: cd /home/appname/
- run: pwd
- run: npm ci
- run: npm test --if-present
- run: npm run build
- run: pm2 restart npm
이 섹션에서는 실제 단계를 나열합니다.cd와 pwd 명령의 첫 번째 부분은 나의 이성에 대한 검사이다.이것은 Actions 영역의 값을 되돌려줍니다. 우리는 우리가 연결되어 있고 일이 발생하고 있음을 알 것입니다.npm 명령은 각각 프로그램을 테스트하고 구축할 수 있는 폴더에서 실행됩니다.나는 npm의 운행 시작을 주석해 버렸다. 왜냐하면 우리는 그것을 필요로 하지 않기 때문이다.그것은 이전에pm2에서 설정되었습니다.PM2는 노드를 위한 수호 프로세스 관리자입니다.js 프로젝트를 사용하면 서버 백엔드에서 이 프로세스를 쉽게 사용할 수 있습니다.
나는 언제든지 PM2에 관한 글을 올릴 수 있다. 왜냐하면 이것은 편리한 서비스이기 때문이다.
작업 탭에서 결과를 보고 성공적으로 실행되도록 이동할 수 있습니다.
보시다시피, 스크립트가 실행되고, 실행 절차는 한 번에 하나만 표시됩니다.
그것은 심지어 너에게 PM2가 터미널에서 돌아오는 보답을 줄 것이다.
그다지 낡지 않다.
Reference
이 문제에 관하여(Github 자체 관리 실행자 설치[업데이트]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/muckitymuck/github-self-hosted-runner-setup-4cmc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)