alpacon-cp-action

로컬 환경과 Alpacon 워크스페이스의 원격 서버 간 파일 및 디렉토리를 복사합니다. 업로드 및 다운로드 모드, 재귀 디렉토리 복사, 다중 소스 파일을 지원합니다.

입력값

이름설명필수기본값
workspace-urlAlpacon 워크스페이스 URL
api-tokenAlpacon API 토큰
source소스 경로. 업로드: 로컬 경로 (줄당 하나씩 다중 지원). 다운로드: 단일 원격 경로.
target-server대상 서버 이름
target-path목적지 경로 (업로드: 원격, 다운로드: 로컬)
modeupload 또는 download아니오upload
recursive디렉토리를 재귀적으로 복사아니오false
username원격 서버에서 파일 소유권을 설정할 사용자 이름아니오
groupname파일 소유권을 설정할 그룹 이름 (username 필요)아니오

사용법

파일 업로드

- name: Upload config
  uses: alpacax/alpacon-cp-action@v1
  with:
    workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
    api-token: ${{ secrets.ALPACON_API_TOKEN }}
    source: './config.yml'
    target-server: 'prod-server'
    target-path: '/opt/myapp/config.yml'

다중 파일 업로드

- name: Upload multiple files
  uses: alpacax/alpacon-cp-action@v1
  with:
    workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
    api-token: ${{ secrets.ALPACON_API_TOKEN }}
    source: |
      ./docker-compose.yml
      ./nginx.conf
      ./.env.production
    target-server: 'prod-server'
    target-path: '/opt/myapp/'
    username: ubuntu

디렉토리 재귀 업로드

- name: Upload build artifacts
  uses: alpacax/alpacon-cp-action@v1
  with:
    workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
    api-token: ${{ secrets.ALPACON_API_TOKEN }}
    source: './dist/'
    target-server: 'prod-server'
    target-path: '/var/www/app/'
    recursive: true

파일 다운로드

- name: Download logs
  uses: alpacax/alpacon-cp-action@v1
  with:
    workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
    api-token: ${{ secrets.ALPACON_API_TOKEN }}
    source: '/var/log/app/error.log'
    target-server: 'prod-server'
    target-path: './logs/'
    mode: download

참고

  • alpacon-setup-action을 먼저 실행해야 합니다
  • 업로드 target-path: 파일 경로 또는 디렉토리 경로 가능
  • 다운로드 target-path: 반드시 디렉토리 경로—파일은 원래 이름으로 저장됩니다
  • 다중 소스: 업로드 모드에서만 지원 (줄당 하나의 경로)
  • 다운로드 모드: 단일 소스 경로만 지원
  • groupname을 사용하려면 username이 설정되어야 합니다

함께 보기

출처