我是新的 github 操作工作流程,想知道是否有可能在每次推送后直接为 CI 和 CD 设置我的 ec2 机器。
我已经看到 ECS 是可能的,但我想要一个直接的解决方案,因为我们正在我们的开发环境中尝试这个,我们不希望超出预算。
是否有可能,如果是,我该如何实现?
最佳答案
如果您在 GitHub Actions 中构建代码,并且只想将包复制到现有的 EC2 上,则可以使用 SCP files action plugin
https://github.com/marketplace/actions/scp-files
- name: copy file via ssh key
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
key: ${{ secrets.KEY }}
source: "tests/a.txt,tests/b.txt"
target: "test"
如果您有任何其他与 EC2(或任何其他 AWS 服务)交互的 AWS 资源并且您想使用 AWS CLI,则可以使用 AWS Credentials Actionhttps://github.com/aws-actions/configure-aws-credentials
- name: Configure AWS credentials from Test account
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.TEST_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.TEST_AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Copy files to the test website with the AWS CLI
run: |
aws s3 sync . s3://my-s3-test-website-bucket
关于amazon-web-services - 在 aws ec2 机器上对 CI CD 使用 Github 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62547073/