有没有一种方法可以在 GitHub Actions 上运行 Web 应用程序?

5
我正在开发一个仪表盘Web应用程序,想要使用Github Actions进行部署和测试。我已经成功编写了一个工作流来构建和推送Docker镜像,但在测试方面出现了问题。
这是一个Vue 2应用程序,监听8080端口,使用Cypress执行测试。我的工作流程使用docker-compose以生产方式构建它,并通过nginx提供服务。当然,在公司服务器上它适用于生产。
通过Github Actions部署时,nginx的执行和构建阶段都像平常一样,应用程序应该正常运行,但是Cypress在运行测试时会在http://127.0.0.1:8080 抛出ECONNREFUSED错误,就好像Github阻止我的应用程序监听此端口或它在外部容器上运行一样。
我假设有一种方法可以在Github Actions上运行和测试Web服务器,但我无法在文档或论坛中找到它。
有人知道如何做到这一点吗?
下面是我 .yml GitHub工作流的注释版本。
name: Build and test
# event listener to trigger the workflow
on:
  push:
    branches:
      - 'workflows-dev'
      - 'master'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2 # Checkout into the repo
      - run: sed -i -e "s/http\:\/\/<STRAPI_URL>/${{ secrets.PREPROD_URL }}/" Dockerfile
      - run: docker build -t dashboard:${{ github.run_id }}-test . # Build docker image with a unique tag
      - run: docker run dashboard:${{ github.run_id }}-test & # Runs it as a demon job '&'
      - run: sleep 60 # Sleeping to let the server actually start up before testing
      - run: |
            echo {\"site\": \"http://127.0.0.1:8080\", \"identifier\": \"${{ secrets.PREPROD_USER }}\", \"password\": \"${{ secrets.PREPROD_PASSWORD }}\"} > tests/cypress.env.json # Setup ENV variables for the tests
      - run: npm test

找到解决办法了吗?我遇到了同样的问题。 - Abdul Rehman
是的,我这边还是没有任何进展。你有找到什么有用的信息吗? 如果有的话,你可以在这个主题下回答,似乎很少有人提出这个问题。 - Loys Caucheteux
1个回答

0

你好,谢谢你的回答。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接