Azure DevOps (六) 通过FTP上传流水线制品到Linux服务器
上一篇我们实现了把流水线的制品保存到azure的流水线制品仓库里去,本篇我们会开始研究azure的发布流水线。
本篇要研究的是把流水线仓库的制品发布到任意一台公网的linux服务器上去,所以我们先研究FTP和流水线的联动。
首先我们需要创建一条发布流水线,点击左侧的Releases,创建新的流水线,选择我们在前几篇文章中发布到仓库的制品。

创建好流水线后,点击Stages添加第一个步骤,这里我们选择Empty Job,填入一下基础的信息,然后点击我们创建好的步骤进行任务的编辑,
进来之后azure会默认给我们添加了一个agent,我们可以理解为agent就是我们的执行器,他会去帮我执行接下来我们定义的各种自动化任务,
因为我们的目的是要执行linux的命令并且上传文件到linux服务器上,所以我们要选择agent的类型为ubantu.


agent设置好之后,我们接下来创建两个task,他们的作用分别为:
1.查看从流水线仓库下载过来的制品是否正确。
2.使用Ftp上传到一个公网的服务器上去。
首先创建第一个task,我们点击agent上的加号,在右侧搜索bash,点击add,添加一个bash操作到我们的流水线上。

然后我们选中Bash选择模式为online,然后在里面写一些简单的脚本来查看我们的流水线制品。

然后我们添加第二个task,我们在右侧搜索FTP

然后填写一下FTP的信息, 这里Authentication Method我们选择输入验证,然后填入我们的FTP信息,注意URL要带上ftp://

填写好之后保存并一下我们的发布流水线,这里顺道贴一下FTP的安装命令
1、查看是否已经安装了vsftpd
vsftpd -version 2、安装vsftpd(CentOS7)
yum install -y vsftpd 3.创建一个目录
mkdor /home/ftp 4.授权
chmod 777 /home/ftp 5.创建用户
useradd -d /home/ftp -s /bin/bash myftp 6.设置密码
passwd myftp
发布流水线创建好之后,我们稍微回去改造一下之前的编译流水线,毕竟总不能每次都把全量的代码传过去,我们让制品每次只上传编译出来的jar包。
我们修改一下targetPath,指定到我们要上传的文件上去。
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)/s/webhook/target/demo-app.jar'
artifact: 'webhook'
publishLocation: 'pipeline'
接下来运行一下我们的流水线,点击Create a new release,然后进入就会看见已经开始运行了。

点击logs,我们可以看到,流水线已经开始把制品上传到了服务器,我们同时去服务器上验证一下上传的结果


上传成功,完美。
到这里打通流水线和FTP就结束了,虽然文章看着很短,但是中间采坑的过程很长,不过摸着过来了就好,下一篇我们会继续研究azure的功能。
Azure DevOps (六) 通过FTP上传流水线制品到Linux服务器的更多相关文章
- windows上python上传下载文件到linux服务器指定路径【转】
从windows上传文件到linux,目录下的文件夹自动创建 #!/usr/bin/env python # coding: utf-8 import paramiko import datetime ...
- SecureCRT 上传/下载文件到Linux服务器
1. 安装上传/.下载软件 a) cd /tmp wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz tar zxvf lrzsz-0. ...
- 上传下载文件到Linux服务器
转自链接:https://blog.csdn.net/drdongshiye/article/details/89430535Mac的终端是十分强大 , 可以通过命令进行上传下载下载文件夹 scp - ...
- FTP上传与下载
1.连接 先假设一个ftp地址 用户名 密码 FTP Server: 192.168.1.125 User: administrator Password: abc123 2. 打开win ...
- windows系统下ftp上传下载和一些常用命令
先假设一个ftp地址 用户名 密码 FTP Server: home4u.at.china.com User: yepanghuang Password: abc123 打开windows的开始菜单, ...
- windows下ftp上传下载和一些常用命令
先假设一个ftp地址 用户名 密码 FTP Server: home4u.at.china.com User: yepanghuang Password: abc123 打开windows的开始菜单, ...
- PHP使用FTP上传文件到服务器(实战篇)
我们在做开发的过程中,上传文件肯定是避免不了的,平常我们的程序和上传的文件都在一个服务器上,我们也可以使用第三方sdk上传文件,但是文件在第三方服务器上.现在我们使用PHP的ftp功能把文件上传到我们 ...
- PHP FTP上传文件
第一步:建立一个新的 FTP 连接. ftp_connect(host,port,timeout); host必需,规定要连接的 FTP 服务器,可以是域名或 IP 地址,后面不应以斜线结 ...
- .net FTP上传文件
FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...
随机推荐
- 4、网络并发编程--僵尸进程、孤儿进程、守护进程、互斥锁、消息队列、IPC机制、生产者消费者模型、线程理论与实操
昨日内容回顾 操作系统发展史 1.穿孔卡片 CPU利用率极低 2.联机批处理系统 CPU效率有所提升 3.脱机批处理系统 CPU效率极大提升(现代计算机雏形) 多道技术(单核CPU) 串行:多个任务依 ...
- 关于tomcat 访问80端口失效 阿里云问题版
可能有朋友在配置完阿里云 配置好服务器发现 使用默认80端口访问网址失效 用8080依然失效 - -放心你用什么都会失效 并且你怎么杀接口也没用 答案就是 你的里面绝对没有80 和8080 你没 ...
- docker 批量删除 none 镜像
在使用 docker images 命令的时候,经常会在列表中看到 <none>:<none> 的镜像. 这种镜像在 Docker 官方文档中被称作 dangling imag ...
- python中time模块的调用及使用
1 import time #通常import语句会写到代码的开头 2 3 print('------------------------') 4 print('------------------- ...
- operator的解释
operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...
- [题解]BZOJ1004 序列函数
原题找不到了,应该是usaco之类的题目吧.给一个可以交题的链接:http://www.cqoi.net:2012/problem.php?id=1004 思路:将素数一个一个往里乘,保证扫描的顺序是 ...
- Renix修改报文长度——网络测试仪实操
Renix软件修改报文长度的方式有4种,分别是固定.递增.随机和自动.接下来对这四种方式,分别配置和验证. 一.固定(fixed) 描述:流中的帧具有固定长度 1.配置fixed 64Byte 2.w ...
- C#中的泛型 / 泛型类 / 数组、ArrayList和List三者的区别
在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...
- (转)oracle 数据库性能健康检查脚本
转至:https://blog.csdn.net/cm_0205/article/details/100210526?utm_medium=distribute.pc_relevant_downloa ...
- java ssh远程服务器并执行多条shell命令
java ssh远程服务器并执行多条命令 import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...