alpacon-websh-action
Alpacon 워크스페이스의 원격 서버에서 쉘 명령을 실행합니다. 특정 사용자 및 그룹으로 명령 실행, 환경 변수 전달, 멀티라인 스크립트를 지원합니다.
입력값
| 이름 | 설명 | 필수 | 기본값 |
|---|---|---|---|
workspace-url | Alpacon 워크스페이스 URL | 예 | |
api-token | Alpacon API 토큰 | 예 | |
target | 대상 서버 이름 | 예 | |
script | 실행할 쉘 명령 또는 스크립트 | 예 | |
username | 명령을 실행할 사용자 이름 (예: root, ubuntu) | 아니오 | |
groupname | 명령을 실행할 그룹 이름 (username 필요) | 아니오 | |
env | 환경 변수 (줄당 하나, KEY=VALUE 또는 KEY 형식) | 아니오 |
사용법
기본 명령 실행
- name: Deploy application
uses: alpacax/alpacon-websh-action@v1
with:
workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
api-token: ${{ secrets.ALPACON_API_TOKEN }}
target: 'prod-server'
script: |
cd /opt/myapp
git pull
npm install
pm2 restart app
특정 사용자와 그룹으로 실행
- name: Deploy with www-data group
uses: alpacax/alpacon-websh-action@v1
with:
workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
api-token: ${{ secrets.ALPACON_API_TOKEN }}
target: 'web-server'
username: 'ubuntu'
groupname: 'www-data'
script: cp -r /tmp/build/* /var/www/html/
환경 변수 전달
- name: Run with environment variables
uses: alpacax/alpacon-websh-action@v1
with:
workspace-url: ${{ secrets.ALPACON_WORKSPACE_URL }}
api-token: ${{ secrets.ALPACON_API_TOKEN }}
target: 'prod-server'
env: |
APP_ENV=production
DB_HOST=localhost
LOG_LEVEL=info
script: |
echo "Deploying to $APP_ENV"
systemctl restart myapp
env 입력은 두 가지 형식을 지원합니다:
KEY=VALUE: 지정된 값으로 변수를 설정KEY: 러너 환경의 변수를 전달
참고
alpacon-setup-action을 먼저 실행해야 합니다script의 각 줄은 별도의 명령으로 실행됩니다- 빈 줄과 주석 줄(
#으로 시작)은 건너뜁니다 groupname을 사용하려면username이 설정되어야 합니다