Azure Linux 应用服务:从 DevOps 管道部署后安装包

2024-01-11

我目前正在 Azure Devops 中设置 CI/CD 管道,以在 Linux 托管应用程序服务(而不是 VM)上部署 NodeJS 应用程序。

我的构建和部署都很顺利,但我需要确保在部署应用程序后在环境中安装一些软件包。

问题是:无论如何apt-get我在部署后创建的脚本,我必须手动运行它们才能真正生效。不过,在管道日志中,它们似乎已被执行。

这是我的 yaml 代码中负责部署的部分,我错过了什么吗?

- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: Deploy
    displayName: Deploy
    environment: $(environmentName)
    pool:
      vmImage: $(vmImageName)
    workspace:
      clean: all
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            displayName: 'Azure Web App Deploy:'
            inputs:
              azureSubscription: $(azureSubscription)
              appType: webAppLinux
              appName: $(webAppName)
              runtimeStack: 'NODE|16-lts'
              package: $(Pipeline.Workspace)/drop/drop$(Build.BuildNumber).zip
              startUpCommand: 'pm2 start index.js --no-daemon'
        on:
         success:
           steps:
           - script: sudo apt-get update
             displayName: apt update
           - script: sudo apt-get -y [SOME LIBS] 
             displayName: try install dependencies

Thanks !


目前,使用“startup.sh”文件,我在每次部署后手动运行该文件。不过稍后会通过docker

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Linux 应用服务:从 DevOps 管道部署后安装包 的相关文章

  • Windows CE 与嵌入式 Linux [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 现在我确信我们都清楚 Linux 与 Windows 桌面的相对优点 然而 我对嵌入式开发世界的了解却少得多 我主要对行业解决方案感兴
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 监控子进程的内存使用情况

    我有一个 Linux 守护进程 它分叉几个子进程并监视它们是否崩溃 根据需要重新启动 如果父进程可以监视子进程的内存使用情况 以检测内存泄漏并在超出一定大小时重新启动子进程 那就太好了 我怎样才能做到这一点 您应该能够从 proc PID
  • 错误:标准包中非标准导入“gopkg.in/yaml.v2”

    我正在尝试从以下位置导入 go yamlhttps github com go yaml yaml https github com go yaml yaml 并且我发现了一个 Google 没有提供帮助的错误 I ran go get g
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • 从 systemd bash 内联脚本创建 filename_$(date %Y-%m-%d)

    我正在尝试执行systemd计时器并希望将执行脚本的输出保存在每个日期的文件中 这是我的ExecStart脚本中的 service file ExecStart bin bash c echo date Y m d gt gt home u
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • 每个命令都返回“bash:<命令>:找不到命令...”[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我刚刚安装了 Scala 并添加了路径gedit bashrc export SCALA HOME home avijit sca
  • 如何在 GNU/Linux 上设置 Subversion (SVN) 服务器 - Ubuntu [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一台运行 Ubuntu 的笔记本电脑 我想将其用作 Subversion 服务器 既让我自己在本地承诺 也让其他人远程承诺 要使其
  • 后台分叉无法正常工作[重复]

    这个问题在这里已经有答案了 我运行这个程序 在前景和背景中 int main int pid printf App Start pid d n getpid while 1 pid fork if pid 0 printf Child n
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • Linux中使用管道进行进程间通信

    我已经编写了在 linux 中写入数字以进行管道传输的代码 如下所示 但显示错误 任何人都可以帮助我解决这个问题 基本上该程序的问题陈述如下 一个程序将打开一个管道 向管道写入一个数字 其他程序将打开同一管道 读取数字并打印它们 关闭两个管
  • 捕获数据包后会发生什么?

    我一直在阅读关于网卡捕获数据包后会发生什么的内容 我读得越多 我就越困惑 首先 我读过传统上 在网卡捕获数据包后 它会被复制到内核空间中的一个内存块 然后复制到用户空间 供随后处理数据包数据的任何应用程序使用 然后我读到了 DMA 其中 N
  • Web 应用程序的带宽和流量模拟器?

    您能否建议如何创建一个测试环境来模拟 Web 应用程序中的各种类型的带宽和流量 或者也许是一个针对本地主机执行此操作的开源程序 我认为在编写网络应用程序时这是一个非常重要的主题 但这不是一个常见的主题 我能想象创建这种环境的唯一方法是在本地
  • C:如果文件描述符被删除,阻塞读取应该返回

    我正在以阻塞的方式从设备 文件描述符中读取 可能会发生这样的情况 在不同的线程中 设备被关闭并且文件描述符被删除 不幸的是 读取没有返回或注意到并且一直阻塞 作为一种解决方法 我可以使用 select 作为超时来执行 while 循环 如果
  • 提供数组作为 devops 管道的参数

    我刚刚开始使用天蓝色管道 我们希望不再使用arm模板和参数文件手动部署Azure资源 而是使用devops管道来完成此任务 虽然使用单个模板 参数的 json 文件来完成此操作很简单 但我看不到处理多个文件的明智方法 我已经看到有关使用数组
  • 通过 R 连接到 Azure SQL

    下面的代码允许我通过 R 连接到 Azure SQL 服务器 但是 我只能访问 主 数据库 而不能访问我在下面创建的两个数据库 表格显示为空白 有什么想法吗 谢谢 library RODBC library dplyr library DB

随机推荐

  • 使用 Pycurl 获取 HTML

    我一直在尝试使用 pycurl 检索 HTML 页面 因此我可以使用 str split 和一些 for 循环解析它以获取相关信息 我知道 Pycurl 检索 HTML 因为它将它打印到终端 但是 如果我尝试做类似的事情 html str
  • 简单配置时收到 Wix 安装程序错误代码 2343。 (WIX新手)

    使用以下简单的 WIX 配置时 我收到以下错误 正在安装的应用程序是 WPF 产品 Web Miner 安装程序 安装程序在安装此软件包时遇到意外错误 这可能表明此包有问题 错误代码为 2343 参数为
  • Spark应用程序状态中的FAILED和ERROR有什么区别

    我正在尝试创建已提交的 Spark 应用程序的状态图 当应用程序被视为失败时 我有点迷失了 各州来自这里 https github com apache spark blob d6dc12ef0146ae409834c78737c11605
  • 如何在sql中进行join时保持顺序

    表1和表2的主键 key1 key2 相同 表 3 是用户定义的表 具有与表 2 相同的一列字段 5 我需要从表 1 和表 2 中选择行 其中表 2 中的 field5 位于表 3 中 我需要以与 table3 相同的顺序获取行 table
  • 停留在显示 PHP 分页器上

    我正在尝试创建一个分页器 我创建了一个分页器类 其属性如下所示 但现在我正在尝试显示分页器 但我完全陷入了不同的循环 也许我应该去睡觉 P 之类的东西 重要的属性是 windows size the amount of pages visi
  • 如何使用 CSS 类选择第一个、第二个或第三个 html 元素内的子元素?

    我想在 CSS 中选择锚标记 出于以下 html 文档的目的 我也做了同样的事情 我的 html 文档在这里 div class first div
  • 用于扫描仪颜色意图的 WIA 自动化不起作用

    我无法让我的 Canon Pixma MP150 从 C 代码进行彩色扫描 以下代码会生成黑白图像 或者如果我将 6146 的值更改为 2 则会创建灰度图像 我希望能够通过代码进行彩色扫描 我知道扫描仪可以处理彩色图像 因为我可以通过 扫描
  • 当我在 PHP 中使用 cURL 发布文件时,是否应该设置 CURLOPT_UPLOAD?

    当我尝试设置它时 它会强制请求方法被 PUT 这是我在 CURLOPT POSTFIELDS 中放入的内容 curl setopt ch CURLOPT POSTFIELDS array fileUpload gt home apache
  • Visual Studio:如何将 obj 文件夹保存在其他位置

    有谁知道如何告诉 VS 2008 在构建解决方案时保存 obj 文件夹的位置 我们让它将 bin 文件夹保存到另一个路径 以保持源文件文件夹较小 即可通过电子邮件发送 但找不到任何方法告诉它对 obj 执行相同的操作 Use the Bas
  • 编辑选定列表视图项目的项目或子项目值

    好的 所以我在一个表单上有一个列表视图 当按下按钮时 它会打开一个新表单 其中包含所选列表视图项目的内容及其一系列文本框中的子项目 然后 用户可以更改文本框中的数据 然后按 保存 进行更改或按 取消 关闭窗口 我将使用什么命令将选定的列表视
  • 发送短信导致一般失败

    我使用一种非常常见的方式通过我的应用程序发送短信 几乎所有教程中都对此进行了解释 我将 sendMultipartTextMessage 与 发送意图 和 传递意图 一起使用 然后广播接收器侦听结果并打印内容 但是 每次我尝试发送短信时 即
  • 为什么需要 lambda 来嵌套 defaultdict?

    我有点困惑为什么你需要一个 lambda 函数来嵌套 defaultdict 为什么你不能这样做呢 test defaultdict defaultdict list 代替 test defaultdict lambda defaultdi
  • “完全二叉树”、“严格二叉树”、“满二叉树”之间的区别?

    我对以下树的术语感到困惑 我一直在研究树 但无法区分这些树 a 完全二叉树 b 严格二叉树 c 完整二叉树 请帮我区分这些树 这些树何时何地在数据结构中使用 完美的树 x x x x x x x x x x x x x x x 完整的树 x
  • 如何使文本在节点中居中?

    我正在学习关于d3 js和力量体系 我有一个拦截器 因为我无法添加文本 并且它完全位于圆圈的中心 我曾尝试创建
  • 纯 WebGL 虚线

    我正在尝试使用纯 webgl 创建一条虚线 我知道已经有一个问题了 也许我很蠢 但我不知道如何让它发挥作用 我理解这个概念 但我不知道如何获取着色器中沿路径的距离 之前的答案有以下一行 varying float LengthSoFar l
  • 为什么结构体和可变结构体具有不同的默认相等运算符?

    我有以下代码 julia gt struct Point x y end julia gt Point 1 2 Point 1 2 true julia gt mutable struct Points x y end julia gt P
  • 如何获取谷歌地图标记上的双击事件[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我的应用程序中 我显示具有多个标记的谷歌地图 因为我有点击事件和获取信息窗口 但是我需要的是 当我双击标记时 应该显示包含有关该标记
  • 尝试连接到 .onion 站点时 Python 请求失败

    我正在尝试获取托管在 tor 网络中的网页 我正在使用以下代码 import requests def get tor session session requests session session proxies http socks5
  • CSS,自动调整div大小?

    我正在尝试用 css 设计一种布局 我有一个主容器 div 和两个内部容器 div upper 和 div lower 假设我想调整 div upper 和 div lower 的大小 它们会自动调整自身大小 并且两个 div 仍然适合主容
  • Azure Linux 应用服务:从 DevOps 管道部署后安装包

    我目前正在 Azure Devops 中设置 CI CD 管道 以在 Linux 托管应用程序服务 而不是 VM 上部署 NodeJS 应用程序 我的构建和部署都很顺利 但我需要确保在部署应用程序后在环境中安装一些软件包 问题是 无论如何a