用docker自动构建纸壳cms

ZKEASOFT ZKEASOFT     2022-10-02     181

关键词:

纸壳CMS可以运行在Docker上,接下来看看如何自动构建纸壳CMS的Docker Image。我们希望的是在代码提交到GitHub以后,容器镜像服务可以自动构建Docker Image,构建好以后,就可以直接拿这个Docker Image来运行了。

Dockerfile

最重要的,就是Dockerfile中的定义了。先上代码:

FROM microsoft/aspnetcore-build:latest AS builder
WORKDIR /build
# Copy all files
COPY . ./
RUN dotnet restore
# Release ZKEACMS.WebHost
WORKDIR /build/src/ZKEACMS.WebHost
RUN dotnet publish-zkeacms

# Build runtime image
FROM microsoft/aspnetcore:2.0.3
WORKDIR /zkeacms
COPY --from=builder /build/src/ZKEACMS.WebHost/bin/Release/PublishOutput .
EXPOSE 80
ENTRYPOINT ["dotnet", "ZKEACMS.WebHost.dll"]

简单解释一下,首先,需要使用microsoft/aspnetcore-build来发布纸壳CMS,因为microsoft/aspnetcore只是runtime,并不能release。

  1. 定义编译环境builder
  2. 将源代码复制到编译环境中的build目录
  3. 执行 restore
  4. 定位到 ZKEACMS.WebHost 目录,执行发布命令 dotnet publish-zkeacms
  5. 定义运行环境为 microsoft/aspnetcore:2.0
  6. 将发布好的内容从编译环境中复制到运行环境中

整个Dockerfile的定义很简单,如果您已经有安装了docker,将代码保存到项目的根目录,文件名为Dockerfile,就可以直接使用docker build来生成docker image了。

docker build -t zkeacms .

自动构建

已经定义好了Dockerfile,并可以在docker的环境中编译,发布,那现在就可以使用容器镜像服务来自动构建了。

Docker Hub

使用Docker Hub,创建一个自动构建的仓库,连接到GitHub中的项目,可以轻松实现自动构建

选择一个你的项目

在创建好你的仓库以后,简单设置一下分支和Dockerfile的路径,就可以了

阿里云容器镜像服务

如果你觉得Docker Hub太慢了,在国内,你可以使用阿里云的容器镜像服务。https://dev.aliyun.com/search.html

新建一个镜像仓库就行了:

在设置好以后,你会发现在你的项目设置中,会多了Webhooks或者Integrations & services

 原文链接:http://www.zkea.net/codesnippet/detail/post-78

解决纸壳cms在ubuntu系统验证码无法显示(代码片段)

libgdiplus是一个开源的GDP+API,用于绘制图形。纸壳CMS上的验证码,就是使用了它的API来生成的。一般情况下,在Ubuntu系统下可以使用以下命令来安装libgdiplus,安装后即可正常运行libgdipluslibgdiplus是一个开源的GDP+API,用于绘制图形... 查看详情

纸壳cms可视化建站系统搭建多语言网站(代码片段)

纸壳CMS是可视化建站系统,现已经从架构上支持多语言。但是多语言功能默认是没有开启的。您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换。开启多语言如果您没有在系统设置中看到多语言设置菜单,首先... 查看详情

用docker搭建nextcloud网盘

参考技术A在centos系统上添加镜像加速器新建/etc/docker/daemon.json在域名控制台创建一条A记录,并指向服务器IP地址可以通过ping域名查看解析是否生效添加并编辑构建文件docker-compose.yml4.构建上游服务器在本次教程中,我们采用Docker+C... 查看详情

EB:从 Docker Hub 自动部署新的 Docker 镜像构建

】EB:从DockerHub自动部署新的Docker镜像构建【英文标题】:EB:AutomaticallydeploynewDockerimagebuildfromDockerHub【发布时间】:2014-08-2713:58:24【问题描述】:是否可以设置Web挂钩以自动将新版本的应用程序从DockerHub存储库部署到ElasticBeanstalk... 查看详情

搭建jenkins,gitlab自动化打包部署项目(代码片段)

安装步骤:1.Docker-compose构建jenkins环境2.Docker-compose构建gitlab环境3.Jenkins,Gitlab自动化打包部署项目1.Docker-compose构建jenkins环境1、创建docker在主机的jenkins数据映射目录mkdir-p/data/jenkins_homechown-R777/data/jenkins_home2、用docker- 查看详情

springboot集成docker实现自动化构建镜像说明

springboot集成docker实现自动化构建镜像说明文档说明该文档仅包括通过配置springboot、docker、jenkins、git、appollo等实现持续构建,持续发布的功能,不包括各个组件使用细节的讲解。环境说明nameversiondescspringboot2.0.2.RELEASEspringbootdocke... 查看详情

springboot集成docker实现自动化构建镜像说明

springboot集成docker实现自动化构建镜像说明文档说明该文档仅包括通过配置springboot、docker、jenkins、git、appollo等实现持续构建,持续发布的功能,不包括各个组件使用细节的讲解。环境说明nameversiondescspringboot2.0.2.RELEASEspringbootdocke... 查看详情

使用jenkins自动构建docker容器范例

1、登录Jenkins,新建一个自由风格的软件项目。2、源码管理选择git,并添加RepositoryURL、Credentials3、构建选择ExecuteShell,命令如下:dockerstopfront_dev||true;dockerrmfront_dev||true;dockerbuild-tfront_dev.;dockerrun--namefront_dev-p10080:80-d 查看详情

docker:dockerfile构建lnmp平台(代码片段)

1、dockerfile介绍?Dockerfile是Docker用来构建镜像的文本文件,包含自定义的指令和格式。可以通过dockerbuild命令从Dockerfile中构建镜像。这个过程与传统分布式集群的编排配置过程相似,且提供了一系列统一的资源配置语法。用户可... 查看详情

docker+harbor+jenkins+gitlab自动化cicd构建

文章大纲1.实现CICD的架构简介2.Gitlab部署和实践3.Docker部署4.Harbor私有仓库部署5.Jenkinspipeline项目持续集成实践6.整体架构参考文献1.实现CICD的架构简介本实践介绍了利用Jenkins和docker技术,如何实现CI/CD的各环节的步骤,包括代码... 查看详情

docker+jenkins+gitee+maven构建自动化部署(代码片段)

Jenkins的环境构建和项目自动化部署docker-compose部署配置jenkins步骤1:Docker下载jenkins镜像并运行容器步骤2:访问jenkins2.1.jekins访问:2.2.进入jenkins获取密码步骤3.选择jenkins安装推荐的插件步骤4.选择jenkins安装插件步骤5&#x... 查看详情

docker+jenkins+gitee+maven构建自动化部署(代码片段)

Jenkins的环境构建和项目自动化部署docker-compose部署配置jenkins步骤1:Docker下载jenkins镜像并运行容器步骤2:访问jenkins2.1.jekins访问:2.2.进入jenkins获取密码步骤3.选择jenkins安装推荐的插件步骤4.选择jenkins安装插件步骤5&#x... 查看详情

github+docker亚博体育自动构建镜像

Dockerfile是一个包含亚博体育(yb5.io)构建镜像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile一般分为四部分... 查看详情

用 mysql 和 nodeJS 构建一个 docker

】用mysql和nodeJS构建一个docker【英文标题】:buildingadockerwithmysqlandnodeJS【发布时间】:2018-11-0714:12:07【问题描述】:我正在构建一个使用nodeJS和后端以及mySQL作为后端的应用程序,目前,我启动应用程序(没有docker)的步骤是:... 查看详情

通联数据是如何使用docker+rancher构建自动发布管道的?

大家好,今天我将分享通联数据使用Docker和Rancher构建自动化发布管道的经验,我会介绍通联数据自动化发布的流程及方案设计,我们从踩过的一些坑中总结出来的经验,以及我们的自动化发布管道的系统运行现状。 一、通... 查看详情

搭建jenkins,gitlab自动化打包部署项目(代码片段)

安装步骤:1.Docker-compose构建jenkins环境2.Docker-compose构建gitlab环境3.Jenkins,Gitlab自动化打包部署项目1.Docker-compose构建jenkins环境1、创建docker在主机的jenkins数据映射目录mkdir-p/data/jenkins_homechown-R777/data/jenkins_home2、用docker-compose安装,... 查看详情

jenkins构建自动化.netcore发布镜像(代码片段)

...构建流水线观察导读在本章中,将介绍如何在Linux下使用Docker部署、启动Jenkins,编写脚本,自动化构建.NETCore应用,最终将.NETCore应用打包为Docker镜像。部署Jenkins请提前在Linux上安装Docker,在Linux中,我们使用Docker启动Jenkins,这... 查看详情

solo博客系统--jenkins/docker自动化构建发布系统(代码片段)

部署git服务器yuminstallgituseraddgitpasswdgit创建仓库su-gitmkdirsolo.gitgit--bareinit##初始化仓库dockercat>>/etc/docker/daemon.json <<EOF"insecure-registries":["reg.hequan.xyz:5000"]EOFJenkins服务器wgeth 查看详情