【发布时间】:2021-07-15 07:11:47
【问题描述】:
我正在设置 Github Action、AWS EC2、CodeDeploy。所有配置似乎都运行良好。但除了一件事。我无法理解,我该如何解决。如果有人有这方面的经验,请帮助我。
我正在使用:
-
EC2 Rhel 8
-
Node 项目(VueJs 框架)
这是我的 cicd.yml 文件
on:
push:
branches:
- paymentV2
name: Deploy VueJS to Amazon ECS
#on: [push]
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['12.x']
appname: ['staging-aws-codedeploy']
deploy-group: ['staging']
repo: ['project/MyProject']
steps:
- uses: actions/checkout@v2
# Configure AWS credentials
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-southeast-1
# Deploy to AWS
- name: Deploy to AWS
run: |
aws deploy create-deployment \
--application-name ${{ matrix.appname }} \
--deployment-config-name CodeDeployDefault.OneAtATime \
--deployment-group-name ${{ matrix.deploy-group }} \
--file-exists-behavior OVERWRITE \
--description "GitHub Deployment for the ${{ matrix.appname }}-${{ github.sha }}" \
--github-location repository=${{ matrix.repo }},commitId=${{ github.sha }}
这是我的 appspec.yml
version: 0.0
os: linux
files:
- source: /
destination: /var/www/MyProject
hooks:
ApplicationStart:
- location: scripts/application_start.sh
timeout: 300
runas: root
#scripts/application_start.sh
#cd /var/www/MyProject
#npm run build
这是来自 Github 操作和 CodeDeploy AWS 的日志
我尝试编辑 Vision.vue 文件并在 Github 上创建了拉取请求。一切运作良好。但我感到困惑的一件事是为什么存在修改后的文件。请参考下图
=> 我期望的是修改后的文件不应该存在。我认为 Github 应该自动运行 git pull 来获取所有新的源代码。 我进行了更多研究,发现 --file-exists-behavior with OVERWRITE 但它似乎没有按我的意愿工作。 https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html
==> 再一次,我对 Github action 和 CodeDeploy 的 CD 没有经验。请大家帮助我并建议我正确的事情。非常感谢。
【问题讨论】:
标签: amazon-ec2 github-actions aws-code-deploy