当前位置: 首页 > news >正文

企业网站推广渠道手机自助建站平台

企业网站推广渠道,手机自助建站平台,嘉兴网站seo服务,茶叶网络营销网站建设论文一般构建部署 以一个简单的前后端项目来说#xff0c;分别编写前后端的 Dockerfile 文件并构建镜像#xff0c;然后编写 docker-compose.yml 构建部署#xff0c;启动运行。每次代码变更后都需重新手动打包、构建、推送。 一个简单的例子#xff1a; 前端#xff1a; 项…一般构建部署 以一个简单的前后端项目来说分别编写前后端的 Dockerfile 文件并构建镜像然后编写 docker-compose.yml 构建部署启动运行。每次代码变更后都需重新手动打包、构建、推送。 一个简单的例子 前端 项目名kubemanagement-web技术栈Vue 后端 项目名kubemanagement技术栈Golang tips: 不同语言对应的构建逻辑编写不同。关于 Dockerfile 以及 docker-compose 如何编写请查阅官方文档此处不在赘述。 1. 编写前端 Dockerfile 文件 #第一阶段构建 FROM node:16.13.2 as builder WORKDIR /app/kubemanagement-webCOPY . .RUN npm config set registry https://registry.npmmirror.com RUN npm install# 开始构建 RUN npm run build:prod# 第二阶段构建 FROM nginx COPY --frombuilder /app/kubemanagement-web/dist/ /usr/share/nginx/html/ COPY --frombuilder /app/kubemanagement-web/default.conf.template /etc/nginx/templates/default.conf.template EXPOSE 802. 编写后端 Dockerfile 文件 FROM golang:1.20-alpine3.16 as builder WORKDIR /go/src/kubemanagement.com/server COPY . .RUN go env -w GO111MODULEon \ go env -w GOPROXYhttps://goproxy.cn,direct \ go env -w CGO_ENABLED0 \ go env \ go mod tidy \ go build -o server .FROM alpine:latestLABEL MAINTAINERzj20162325163.comWORKDIR /go/src/kubemanagement.com/server COPY --from0 /go/src/kubemanagement.com/server/config.yaml ./config.yaml COPY --from0 /go/src/kubemanagement.com/server/.kube/config ./.kube/config COPY --from0 /go/src/kubemanagement.com/server/server ./ EXPOSE 8082 ENTRYPOINT ./server3. 分别构建镜像 前端 docker build -t harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.0 .后端 docker build -t harbor.kubemanagement.com/kubemanagement/kubemanagement:v1.0 .结果如下 如果需要推送镜像比如推送到私有 Harbor 仓库可执行 docker push harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.0 docker push harbor.kubemanagement.com/kubemanagement/kubemanagement:v1.0Harbor 的搭建可参考 微服务 云原生搭建 Harbor 私有镜像仓库。 4. 编写 docker-compose.yml 文件 version: 3networks:network:ipam:driver: defaultconfig:- subnet: 177.7.0.0/16services:web:container_name: kubemanagement-webimage: harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.0restart: alwaysenvironment:BACKEND_HOST: http://177.7.0.12:8082/ports:- 8081:80depends_on:- servernetworks:network:ipv4_address: 177.7.0.11server:container_name: kubemanagement-serverimage: harbor.kubemanagement.com/kubemanagement/kubemanagement:v1.0restart: alwaysports:- 8082:8082networks:network:ipv4_address: 177.7.0.12使用 docker-compose 自动完成包括构建镜像创建服务启动服务并关联服务相关容器的一系列操作: docker-compose up -d结果如下 此时通过相应 ip:port 即可访问页面示例页面如下 使用 Gogs Drone 持续集成 Gogs 编写 gogs 的 docker-compose.yml 文件 version: 3volumes:gogsdata:services:gogs:container_name: gogsimage: gogs/gogs:0.12.10volumes:- gogsdata:/datarestart: alwaysports:- 10880:3000执行 docker-compose up -d结果如下 通过 10880 端口访问 数据库根据需求来选这里选择最轻量级的 SQLite3 作为演示其他配置项可以默认由于编写 docker-compose.yml 时做了端口映射主要修改域名、端口号如下 编写完可选配置后点击立即安装我这里就简单设置管理员信息 gogs 的使用与 git 基本一致简单创建一个仓库并提交信息 Drone 编写 docker-compsoe.yml 文件 version: 3volumes:dronedata:services:drone-server:image: drone/drone:2container_name: drone-serverenvironment:DRONE_AGENTS_ENABLED: trueDRONE_GOGS_SERVER: http://192.168.65.134:10880# openssl rand -hex 16 生成 server 与 runner 的 DRONE_RPC_SECRET 设置相同DRONE_RPC_SECRET: 02cfbfe91f999c6f334158f4cf737490DRONE_SERVER_HOST: 192.168.65.134:9080DRONE_SERVER_PROTO: http# 必须是管理员身份方便后续的配置选项等操作DRONE_USER_CREATE: username:BetaCatPro,admin:truevolumes:- dronedata:/datarestart: alwaysports:- 9080:80- 9443:443drone-runner:image: drone/drone-runner-docker:1container_name: drone-runnerenvironment:DRONE_RPC_SECRET: 02cfbfe91f999c6f334158f4cf737490DRONE_RPC_HOST: 192.168.65.134:9080DRONE_RPC_PROTO: httpDRONE_RUNNER_CAPACITY: 2DRONE_RUNNER_NAME: first-runnervolumes:- /etc/docker/:/etc/docker- /var/run/docker.sock:/var/run/docker.sockrestart: alwaysports:- 3000:3000depends_on:- drone-server部分参数说明 DRONE_GOGS_SERVER : Gogs 服务地址(需要http://开头)DRONE_RPC_SECRET: Drone 服务密匙(runner 也要使用相同密钥)DRONE_SERVER_HOST: Drone 服务地址外部可访问的域名或IP地址DRONE_SERVER_PROTO: Drone提供服务的协议类型可选为 http 或 httpsDRONE_USER_CREATE: 设置Drone管理员账号(是Gogs平台里的账号) 执行 docker-compose up -d结果 浏览器访问 ip:port: 登录用户名密码为上一步注册 gogs 时所用的登录成功进入主页 这里会显示 gogs 中创建的代码仓库列表。 流水线配置 激活钩子 进入 drone 相应仓库页面点击 ACTIVATE REPOSITORY 按钮激活钩子 激活后可以看到一些设置项注意一定要把 Trusted 选型勾选否则在后续编写钩子文件定义挂载操作时会出现下面错误 Drone untrusted repositories cannot mount host volumes进入到 gogs 中相应仓库点击仓库设置 可以看到管理的 Web 钩子 编写 .drone.yml 钩子文件 在项目根目录下编写 .drone.yml 文件用于定义触发 git 提交时的一系列操作这里以文章开头描述的 kubemanagement-web 前端项目为例 kind: pipeline type: docker name: kubemanagement-web-publishenvironment:GOOS: linuxGOARCH: amd64steps:- name: buildimage: plugins/dockervolumes:- name: hostspath: /etc/hosts- name: docker-capath: /etc/docker- name: dockersockpath: /var/run/docker.socksettings:username: adminpassword:# 注意在 drone 页面的 Secrets 添加对应配置from_secret: harbor_passwordrepo: harbor.kubemanagement.com/kubemanagement/kubemanagement-webregistry: harbor.kubemanagement.comtags:- v1.1- name: ssh commandsimage: appleboy/drone-sshsettings:host: 192.168.65.134username: rootpassword:# 注意在 drone 页面的 Secrets 添加对应配置from_secret: ssh_passwordport: 22script:#拉取镜像并重启 注意--需要提前在目标主机完成docker login- if [ $(docker ps -a | grep kubemanagement-web | wc -l) -ge 1 ];then docker stop kubemanagement-web docker rm kubemanagement-web; fi- docker pull harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.1- export BACKEND_HOSThttp://192.168.65.134:8082/- docker run --name kubemanagement-web --restartalways -d -p8081:80 -e BACKEND_HOST$BACKEND_HOST harbor.kubemanagement.com/kubemanagement/kubemanagement-web:v1.1 volumes:- name: hostshost:path: /etc/hosts- name: docker-cahost:path: /etc/docker- name: dockersockhost:path: /var/run/docker.sock然后在 drone 页面的 Secrets 添加对应配置这里按照 .drone.yml 文件中使用到的有 harbor_password 和 ssh_passwordvalue 分别为对应平台的密码我这里 harbor 的密码为123456gogs 密码为 by6671715分别添加即可 编写好文件后可进行代码提交。不过还需要查看 gogs 的配置文件中有没有将 ip 加入到白名单中如果有多个 ip 则用 , 分隔。我这里 ip 为 192.168.65.134。具体配置如下 首先查看 gogs 挂载的卷查看 Mounts 里 Source 的内容注意时下图箭头指向的位置配置文件即在此目录下 docker inspect gogscd /var/lib/docker/volumes/gogs_gogsdata/_data cd gogs/conf vim app.ini在 security 处加上配置 LOCAL_NETWORK_ALLOWLIST 192.168.65.1343. 重启 gogs # 返回存放 gogs 的 docker-compose.yml 的目录 docker-compose restart如果没有配置还继续提交代码的话会出现下面情况 可以看到虽然提交成功但点击仓库设置进入管理 Web 钩子项点击存在的钩子如 http://192.168.65.134:9080/hook可以看到 钩子并没有生效并报错 Payload URL resolved to a local network address that is implicitly blocked.提交代码触发 Hooks 成功提交代码并触发钩子后gogs 页面中显示成功信息 drone 页面信息如下 点击进入可以在 GRAPH VIEW 查看详细进度及日志 可以看到目前处于 build 阶段。完全构建完成后页面如下 harbor 页面中对应的镜像版本也推送成功
http://www.hkea.cn/news/14526983/

相关文章:

  • 沈阳网站seo排名网页视频下载器破解版
  • 商业图片素材网站上海模板建站公司
  • 3d云打印网站开发西安seo关键字优化
  • 网站建设有什么系统网站模板价格
  • 网站建设款如何入账软件开发工作
  • 蓝色织梦cms企业网站模板全站源码长沙服务专业的建网站
  • 备案网站负责人公司想制作网站吗
  • 做企业网站比较好的公司网站建设的步骤有哪些
  • wordpress链接英文网站优化名词解释
  • 成都哪家做网站做的好湖北孝感展示型网站建设价格
  • 公司网站的备案号是如何链接的农村自建房设计图及效果图
  • wordpress站群代开发公司英文
  • 网站建设三网合一指的是什么意思做百度网站还是安居客网站
  • 网站建设规划书样板前端后端都是网站开发吧
  • 张家口专业做网站公司国内公司网站需要备案吗
  • 企业建设网站需注意哪些事项深圳建网站服务商
  • 推荐电商网站建设网站定位模板
  • 手机网站js触屏滑动图片特效给网站如何做飘窗
  • 外包做网站怎么拿源代码平顶山建站公司
  • wamp 网站开发首先做什么修水县城乡建设局网站
  • 四川省建设工程设备安全协会网站济南城市建设职业学院官网招生网
  • 毕业设计代做哪个网站好写作网站推荐
  • 电子商务个人网站可以备案吗翻书效果网站
  • 电子商务网站建设的参考文献电商眼
  • 临沂酒店建设信息网站如何做百度推广
  • 网站建设有哪些家wordpress付费下载模板
  • 做移门的网站wordpress为什么打开商城非常慢
  • 有域名后续怎么做网站织梦网站内容管理系统
  • 网站建设优化排名推广做的网站
  • 安阳网站建设首选外贸企业网站模版