赞
踩
详细步骤参见参见
https://jszoo.com/detail/32
使用Github action自动部署,需要准备以下东西:
在阿里云容器镜像服务上添加命名空间
创建存储镜像的仓库
登录你的github进入项目仓库,依次点击settings>Secrets>New secret
点击New secret以后出来的页面有2个选项,Name和Value,Name对应上图红框所示,Value填入Name对应的值,简单解释一下:
DOCKER_REPOSITORY: 镜像仓库地址,也就是上一个步骤复制到的公网地址
DOCKER_USERNAME:登录阿里云的账号
DOCKER_PASSWORD: 登录阿里云的密码
HOST:部署项目的服务器ip
HOST_PORT:服务器ssh端口号(默认是22)
HOST_USERNAME:服务器登录用户名(ps:非root权限账号请子u该账号所属组为docker)
HOST_PASSWORD: 登录服务器的密码
ps:这里的Secrets不会被pull,别人也看不到,所以还是比较安全
在github的项目仓库面板,依次点击code>Add file>create new file,Name your file填入Dockerfile,文件内容如下:
FROM node:12.18.0-buster-slim
RUN mkdir -p /usr/src
COPY . /usr/src
WORKDIR /usr/src
RUN npm i
EXPOSE 4000
CMD ["node","app.js"]
ps:EXPOSE根据你的实际情况修改
填好之后点击下方的绿色commit new file按钮
简单解释一下:
顺便说一下RUN和CMD 的区别,相同点,都是执行命令,不同点在于,RUN 是在打包镜像的时候执行,CMD是在运行容器的执行
在github仓库面板点击Actions按钮,找到Node.js,选择Set up this workflow
在内容区域ctrl+a全选然后删除,粘贴进以下内容:
name: Docker Image CI/CD
on:
push:
branches: [ master ]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。