• Azure DevOps (六) 通过FTP上传流水线制品到Linux服务器


    上一篇我们实现了把流水线的制品保存到azure的流水线制品仓库里去,本篇我们会开始研究azure的发布流水线。

    文章配套视频专栏:

    https://space.bilibili.com/38649342/channel/seriesdetail?sid=2267536

    本篇要研究的是把流水线仓库的制品发布到任意一台公网的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://

    rootFolder是我们制品所在的位置,Remote directory是我们要上传到服务器的哪个文件夹上去,$(Build.BuildId)这个环境变量记录的是编译的id我们可以使用它让每次的上传都新建一个文件夹。

     填写好之后保存并一下我们的发布流水线,这里顺道贴一下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,我们可以看到,流水线已经开始把制品上传到了服务器,我们同时去服务器上验证一下上传的结果

    我们先看一下我们的第一个bash的输出结果

    再看一下我们ftp的输出结果

     然后去服务器上看一下目录上有没有对应的文件

     上传成功,完美。

    到这里打通流水线和FTP就结束了,虽然文章看着很短,但是中间采坑的过程很长,不过摸着过来了就好,下一篇我们会继续研究azure的功能。

  • 相关阅读:
    【做题笔记】P1531 I Hate It
    【做题笔记】[NOIOJ,非NOIp原题]装箱问题
    SPOJ1811 最长公共子串
    洛谷P3975
    AtCoder Regular Contest 099 E
    AtCoder Regular Contest 097 D
    AtCoder Regular Contest 098 E
    AtCoder Regular Contest 098 D
    AtCoder Regular Contest 099 C
    AtCoder Regular Contest 097 C
  • 原文地址:https://www.cnblogs.com/Tassdar/p/16049609.html
Copyright © 2020-2023  润新知