GitHub Actions Hackathon 2021 - 원격 호스트에서 도커 이미지 버전 범프
제출 카테고리: DIY 배포
우리는 ⚡ 에너지 균형을 다루는 방법에 특히 주의를 기울여야 하는 시대에 살고 있습니다. 이를 위한 첫 번째 단계는 현재 개인의 전기 및 가스 소비량을 파악하는 것입니다.
이 문제를 해결하기 위해 전기 및 가스에 대한 현재 소비량 📈을 기록하는 작은 개인 React 프로젝트가 있습니다.
지난 몇 년간 내 가스 소비량
지난 몇 년간 나의 전력 소비량
월초에 전기 및 가스 계량기에서 측정값을 가져와 내 저장소의 텍스트 문서에 추가합니다. 그런 다음 GitHub 작업이 나를 대신하여 무거운 작업을 수행하기를 원합니다.
다음 워크플로를 사용하여 이를 성공적으로 구현할 수 있었습니다.
내 워크플로
name: Dockerize React Application
on:
push:
branches:
- 'master'
jobs:
build-container:
name: Build Docker image and deploy to production
runs-on: ubuntu-latest
steps:
-
name: Checkout code
uses: actions/checkout@v2
-
name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Publish to GitHub Packages
uses: docker/[email protected]
with:
push: true
tags: ghcr.io/${{ github.repository }}:latest, ghcr.io/${{ github.repository }}:${{ github.run_number }}
-
name: Deploy on Remote Server
uses: thematchless/bump-image-version-action@v2
with:
remote_docker_host: [email protected]
ssh_private_key: ${{ secrets.DOCKER_SSH_PRIVATE_KEY }}
ssh_public_key: ${{ secrets.DOCKER_SSH_PUBLIC_KEY }}
service_name: electricity-gas-consumption
deploy_path: /thematchless/electricity-gas-consumption
args: up -d
pull_images_first: true
이 워크플로의 마지막 단계는 내가 만든 GitHub 작업입니다. 이 GitHub 작업은 SSH 프로토콜을 통해 원격 서버의 docker-compose 스택에 배포된 docker 이미지 버전을 올립니다. GitHub 프로젝트 비밀을 활용하여 연결을 위한 SSH 인증서를 추가했습니다.
유사하고 간단한 것이 필요한 경우 이 작업도 사용할 수 있습니다. 내 작업을 포크하거나 그대로 사용하십시오 🎉
타의 추종을 불허하는 / 범프 이미지 버전 작업
ssh를 통해 원격 서버의 docker-compose 파일에 배포된 도커 이미지 버전을 늘리는 GitHub 작업
원격 호스트의 범프 도커 이미지 버전
이 리포지토리에는 docker-compose 스택에 지정된 도커 이미지 버전을 올리기 위한 GitHub 작업이 포함되어 있습니다.
이 GitHub 작업이 작동하기 위한 요구 사항
작업에 대한 구성 옵션
필수의
열쇠
예시
기본
설명
✅
remote_docker_host
[email protected]
사용자 이름@호스트
✅
ssh_private_key
-----OPENSSH 개인 키 시작----UgAAAAtzc2gtZWQyNTUxOQAAACALBUgUgAAAAtzc2gtZWQyNTUxOQAAACALBUgUgAAAAtzc2gtZWQyNTUxOQAAACALBUg-----END OPENSSH 개인 키-----
PEM 형식의 개인 키
✅
ssh_public_key
ssh-ed25519 ABCDu027374972309
PEM의 공개 키
✅
서비스 이름
슈퍼 팬시 반응 앱
작성 파일 내의 서비스 이름
✅
배포 경로
/home/thematchless/stack-1
원격 호스트에서 작성 파일을 포함하는 경로
✅
인수
위로 -d
서비스를 시작하는 방법
❌
스택_파일_이름
docker-compose.yaml
docker-compose.yml
이름
…
View on GitHub
이 GitHub 작업에서 구성할 수 있는 모든 플래그가 포함된 테이블을 README.md에 추가했습니다. 불분명한 부분이 있으면 알려주세요. 최선을 다해 도와드리겠습니다.
자비를 베푸소서 🙏 첫 글입니다 😎
Reference
이 문제에 관하여(GitHub Actions Hackathon 2021 - 원격 호스트에서 도커 이미지 버전 범프), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thematchless/github-actions-hackathon-2021-bump-docker-image-version-on-a-remote-host-279h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)