上一篇文章中,我们通过azure的流水线完成了镜像推送到镜像仓库中去,本篇文章我们继续开始完成下一步,通过流水线把镜像从仓库拉取到任意一台公网的服务器上去, 完成镜像部署的闭环. 首先我们需要先准备一下部署的环境,我们先找一台服务器在上面安装一下docker的容器引擎,我的用系统版本是centos的,这里贴一下安装命令. sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-l…
上一篇文章我们完成了最简单的传统部署:上传应用到服务器上使用守护进程进行应用的部署. 本篇文章我们开始研究容器化和流水线的协作. 在开始操作之前,我们首先需要准备一下我们的dockerfile,这里我们依然还是使用前几篇文章使用的项目,贴一下文件内容. 既然我们是使用的微软的azure,所以我也就直接用了azure维护的jdk:zulu,我自己电脑上的jdk也是用的这个,因为我是M1芯片的mac,最一开始的时候官方并没有ARM架构的JDK 但是微软第一时间发行了zulu的ARM版本,我就一直用到…
上一篇文章我们研究了如何通过流水线编译出一个docker的镜像,本篇我们来研究一下,如何把编译好的镜像推送到镜像仓库去. 平时如果我们是单机部署,我们的docker本身就装在部署的机器上,我们在本机直接build+run一条龙就好了,但是在实际生产中, 更多的可能是分布式的多机部署,或者我们是依赖于K8S进行的部署,这时候我们肯定是需要把编译好的镜像推送到一个统一的仓库 中进行管理,然后在部署的时候统一从这个仓库进行获取. 镜像仓库目前社区主流的是使用Harbor,这个是是VMware贡献给社区…
文章配套视频专栏: https://space.bilibili.com/38649342/channel/seriesdetail?sid=2267536 视频正在努力更新. 上一篇文章中,我们通过Azure Devops完成了一个.NET Corey应用的部署,今天我们来实现一下JAVA的Spring Boot应用的部署. 首先我们创建一个springboot的模板项目,直接使用IDEA的Spring Initializr我们选择JDK的版本为1.8,springboot的版本我们选择2.3…
BI系统打包Docker镜像及部署的技术难度和实现 随着容器化技术盛行,Docker在前端领域也有着越来越广泛的应用:传统的前端部署方式需要我们将项目打包生成一系列的静态文件,然后上传到服务器,配置nginx文件:如果我们使用容器化部署,将部署操作都命令化,集中成一个脚本就可以完成原来复杂的部署过程.本文就来介绍BI系统如何通过Docker方式进行部署. 1.什么是docker容器? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器. Docker的英…
Python环境搭建.python项目以docker镜像方式部署到Linux 本文的项目是用Python写的,记录了生成docker镜像,然后整个项目在Linux跑起来的过程: 原文链接:https://msd.misuland.com/pd/3065794831805579512 1.windows中Python环境搭建以及pycharm的安装和配置,用以开发Python项目 这个其实很简单,我从网络上找了一些资源,以下是截图(这块是转的) (一).python环境的搭建 (1).下载pyth…
新建一个pipeline job 选择Pipeline任务,然后进入配置页面. 对于Pipeline, Definition选择 "Pipeline script from SCM". 需要注意的是Script Path, 这里要指定项目中Jenkinsfile文件的具体位置.默认是根目录.我这里是maven的一个子模块,所以嵌套一层. 项目中添加Jenkinsfile 关于Jenkinsfile可以查阅w3c翻译整理的文档: https://www.w3cschool.cn/jenk…
参考 <Docker中上传镜像到docker hub中> <Docker 镜像管理> <通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记> <和我一步步部署 kubernetes 集群>(推荐,完整的K8s集群搭建文章) <Kubernetes之kubectl命令行工具简介.安装配置及常用命令>kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行…
1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重装,之前的搭建的所有环境就都白搭了. 再加上之前本身就想引入docker,所以就打算利用docker容器来部署这次的前端应用. 2.构建前端应用 在打包之前,首先需要一个可正常运行的前端应用.这个可以使用umi或者create-react-app来构建. 3.nginx的默认配置文件 然后需要在项目…
一.打包vue项目 在开发完的vue项目输入如下命名,打包生成dist文件夹 yarn build / npm run build 此时根目录会多出一个文件夹:dist文件夹,里面就是我们要发布的东西. 如果将该dist目录整个传到服务器上,部署成静态资源站点就能直接访问到该项目. 二.获取nginx 镜像 nginx 是一个高性能的HTTP和反向代理服务器,此处我们选用 nginx 镜像作为基础来构建我们的vue应用镜像. 在终端输入: docker pull nginx 即可以获取到ngin…
哈喽大家好,最近因为工作的原因没有时间写文章,断更了俩月,今天我们开始继续研究Azure上的功能. 今天我们开始研究一下Azure的制品仓库,在之前的流水线的相关文章中,我们都使用到了制品仓库用来保存我们临时的编译结果,从而为流水线的下一步做准备. 除了这种临时的制品仓库之外,Azure同时也给我们提供了MAVEN,NUGET,NPM等的制品仓库,今天我们来尝试一下创建一个c#的类库,然后把他上传到NUGET中去. 首先我们打开Azure找到制品项目. 然后我们选择nuget,就可以看到下图中的…
上一篇文章中,我们介绍了如何使用Azure的nuget仓库,今天我们来研究一下如何使用azure给我们提供的maven仓库. 首先,我们打开azureDevops,点击到制品界面,然后选择maven. 这里和nuget一样,如果你本地没有安装maven需要先安装maven的环境和JDK的相关环境,如果有的话就不需要安装了,如果你电脑上安装了IDEA的话可以直接使用IDEA自带的maven,免去安装的步骤,我们本篇文章重点在于讲述如何使用auzre的私有maven仓库,所以maven的相关安装操作…
变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调用关键性的数据.顾名思义,变量是一个可以在流水线中变化值.在CI/CD的执行流水线中,我们都需要使用到各种用途的字符.数字,对象这些字符.数据的定义,我们可以采用变量的方式实现,而不需要在代码中硬编码.系统在运行流水线的过程中,将这些定义的变量自动替换为我需要的值.例如在线部署过程中,我们将用户名和…
一,引言 最近项目上让开始学习AWS,作为一名合格的开发人员,当然也是学会利用Azure DevOps Pipeline 将应用程序部署到 AWS ECS(完全托管的容器编排服务).我们要学会将应用程序部署到多云的环境上,技多不压身!!!! 首先肯定的是,我们必须先依赖Azure DevOps 进行应用程序构建 docker images .并且将 dockre image 推送到 AWS ECR(完全托管的容器注册表) 二,正文 1,创建AWS ECR 容器注册表 登陆到AWS 控制台后,搜索…
介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipelines,它可以帮助开发人员构建持续集成(CI)和持续交付(CD)管道,从而自动化和标准化软件开发过程的构建,测试和部署阶段.此外,Azure Pipelines还提供本机容器支持,可与任何语言,平台和云配合使用.像软件开发这样的机器学习也是一个包括构建,测试和部署阶段的过程,这使其成为自动化和标准化…
利用 Azure Devops 创建和发布 Nuget 包 原 Visual Studio Team Service ,简称 VSTS,能够创建 pipelines 管道以构建应用程序,并将其部署到任何平台.云或应用商店,其他平台可能就没有 Azure Devops 对 windows 支持这么 好了 这个平台还集成了项目管理.版本控制.BUG 跟踪,与 VS 无缝对接,简直强大 收费吗?开源项目免费,小型团队有用户和时长限制,详情请看Azure DevOps 的定价 Azure DevOps…
1.准备一个https://hub.docker.com账号,申请一个免费的镜像仓库(免费账户可以申请一个) 创建docker远程镜像库 2.新建一个mvc的项目 给这个项目加上Dockerfile文件(AzureDemo/AzureDemo/..中添加) FROM dukecheng/aspnetcore:aspnetcore-runtime- ARG source WORKDIR /app EXPOSE COPY ${source:-obj/Docker/publish} . ENTRYPO…
一,引言 上一篇文章记录了利用 Azure DevOps 跨云进行构建 Docker images,并且将构建好的 Docker Images 推送到 AWS 的 ECR 中.今天我们继续讲解 Azure DevOps 的 Pipeline,利用 Release Pipeline 实现 Terraform for AWS Infrastructure Resources 自动部署,我们的目标是将 images 部署到 AWS ECS 上. -------------------- 我是分割线 -…
这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程. 话不多说,just do it. 新建项目 首先新建一个asp.net core项目,这里我新建一个WebApi默认项目. 这里我就不启动项目了,模板项目肯定是能跑起来的. 对项目添加docker容器支持 右键项目>>添加>>容器支持 选择Linux. 之后项目会添加一个DockerFile文件.这个dockerfile可以跟…
Python和Azure DevOps Server Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初主要为系统运维人员编写自动化脚本,在实际应用中,Python已经在前端.后台.测试和大数据分析中广泛使用. DevOps Server (TFS)作为一个全流程的开发测试运维平台,支持Python语言,当然是必须具备的一个功能.下面介绍如何在DevOps Server中调用和运行Python脚本. 软件下载 由于Azure DevOps Server的流水线运行在代理…
Python和Azure DevOps Server Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初主要为系统运维人员编写自动化脚本,在实际应用中,Python已经在前端.后台.测试和大数据分析中广泛使用.DevOps Server (TFS)作为一个全流程的开发测试运维平台,支持Python语言,当然是必须具备的一个功能.下面介绍如何在DevOps Server中调用和运行Python脚本. 软件下载 由于Azure DevOps Server的流水线运行在代理服…
目录 1 下载 Docker 镜像 2 部署Web项目 2.1 通过Dockerfile自定义项目镜像 2.2 启动自定义镜像, 生成一个容器 2.3 另一种启动方式: 交互式启动 3 (附) 向镜像中添加文件 在此篇之前, 需要配置一些环境, 请参考上一篇的介绍: Docker 01 - CentOS 7 中安装 Docker 的详细步骤. 1 下载 Docker 镜像 # 查看本地镜像(暂时没有任何镜像): [root@localhost /data]# docker images REPO…
制作spring-boot的docker镜像并部署 一.下载后端项目:https://github.com/macrozheng/mall 二.修改mall-admin项目的配置文件 修改application-prod.yml的数据库username.password为自己服务器的 增加application-prod.yml配置的 server.port:9001 pom.xml增加plugin: <plugin> <groupId>com.spotify</groupI…
因为个人学习需要,为软件系统的虚拟容器化,以下将mysql制作为docker镜像,并记录下详细步骤. 欢迎大家学习交流和转载,同时写作不易,如果各位觉得不错,请点赞支持. 备注:以下代码和文章,欢迎复制和转载,请在开头备注清楚“原始网址和作者”,谢谢 一.实验环境 1.本地电脑: windows 10  x64 / git version 2.21.0.windows.1 2. 本地docker 构建环境: CentOS 7.4 x64 / Docker Engine - Community 1…
在过去的几年中,"云"作为明星热词站在了各种新潮技术之中,你可能使用过,但说不清它的原理:或者是没用过,但听过它的大名:也可能连它的名字都没听过,但你对这只蓝色鲸鱼一定十分眼熟.作为一名技术人员,只要你在这个软件行业里摸爬滚打,就一定对他有不同程度的了解. Docker是什么? Docker的LOGO十分有特点,一条鲸鱼载着很多集装箱,集装箱中满是要交付的货物.鲸鱼就是操作系统,而集装箱就是Docker,集装箱中的就是要交付的货物,也就是应用程序.各种"货物"之间的…
运行docker的centos上, 只分配了16G的空间, 装了个mysql, 还有个rancher, 就只剩下2G的空间了, Azure Devops build镜像就出错了, 显示存储空间不足, 第一个想法就是把docker 的空间清理下, 于是使用到了docker system prune 这个命令 这个命令主要是清理, 看着没有什么特别的, 就执行了这个命令. 1.已停止的容器2.未被任何容器使用的卷3.未被任何容器所关联的网络4.所有悬空的镜像 结果, Azure Devops 每次b…
使用Azure Devops构建java springboot项目,创建镜像并容器化部署 1.创建一个springboot项目,我用现有的项目 目录结构如下,使用provider项目 在根目录下添加Dockerfile文件,文件内容如下 参考代码: # Docker image for springboot file run # VERSION 0.0.1 # Author: xujk # 基础镜像使用java FROM java:8 # 作者 MAINTAINER xujk <xjk27400…
这几天一直在搞 Jenkins + Docker + Azure Devops 部署,因为这种方式部署真的非常的省心,而且速度快,方便快捷,等等无数优点,感谢我的单身领导的支持,当然也感谢 晓晨大神,没有他的博客,真的不知道怎么搞. 好滴,进入正题:  第零点:当然要先安装.Net core 运行时啦!官网上就有下载喔~ 首先  这里的jenkins并不是装在docker里面的jenkins,是直接安装到linux上的jenkins.我参考的是晓晨的博客,晓晨大佬就是厉害  原文链接:https…
在Azure Devops中部署docker镜像时,  出现COPY failed: stat /var/lib/docker/tmp/docker-builder268095359/xxxxxxx.csproj no such file or directory. Dockerfile 是用vs自动生成的, web项目没有引用其他项目的时候, docker build 是不会报错的, 但是有引用的时候就报图上这个错误了. 查了很多资料, 问了很多人, 都不知道咋回事(可能是没问到对的人吧),…
准备 拥有Azure账号,已经创建 Azure容器注册表,获得注册表地址.账号.密码 本地已经在Visual Studio登录Azure账号. 本地已经拥有Docker环境 注意:首次发布Docker会自动安装vs插件,根据网络不同,可能需要十几分钟左右.   一.环境登录 在Visual Studio中发布,需要先在本地登录 Azure容器注册表 二.项目发布 第一步:创建发布 第二步:选择资源 第三步:生成过程 第四步:推送镜像到服务器 第五步:查看推送成功 三.本地运行 第一步:查看本地镜…