0

我有一个 node.js 网站,可以在本地运行良好node server.js。我添加了一个 Dockerfile:

FROM node:carbon    
VOLUME ["/root"]    
# Create app directory  
WORKDIR /usr/src/app    
# Install app dependencies  
# A wildcard is used to ensure both package.json AND package-lock.json are copied   
# where available (npm@5+)  
COPY package*.json ./   
RUN npm install 
# If you are building your code for production  
# RUN npm install --only=production 
# Bundle app source 
COPY . .    
EXPOSE 8080 
CMD [ "npm", "start" ]

如果我部署我的应用程序,gcloud app deploy我可以通过 url 在线访问它。我相信我的项目是“App Engine”项目?如果我运行后续gcloud app deploy命令,我的新代码将被推送到在线站点。但我无法让 github master 提交触发并发布新版本。

我尝试添加一个触发器,以便每次将新代码添加到我的公共 github repo master 分支时,它都会发送到我的生产 URL。在此处输入图像描述

全触发: 在此处输入图像描述

所以我将一个 PR 合并到我的 github repo 的 master 分支中。我查看我的构建历史并看到有一个新构建,单击提交将我带到我刚刚合并到我的 github 存储库的主分支中的新 pr。

在此处输入图像描述

但是,如果我访问我的网站 url,则新代码不存在。如果我cloud app deploy最终再次运行它会出现,从日志中我的触发器似乎工作正常,为什么我的构建没有被发布?

在此处输入图像描述

4

1 回答 1

0

我认为问题可能在于您使用的是Dockerfile而不是 Cloud Build 配置文件......除非我没有看到其他东西。

第四步,第五个项目符号下查看解决方案。它说:

在构建配置下,选择 Cloud Build 配置文件。

于 2020-10-03T21:17:39.840 回答