Jenkinsfile 中的 Anaconda

2024-03-26

由于我们运行的测试越来越长,我认为从 Travis CI 切换到 Jenkins(在我的本地计算机上)是个好主意。设置 Jenkins 相对简单,但让我的 Jenkinsfile“工作”却不是那么简单。我正在尝试下载 miniconda -> 安装 miniconda -> 安装环境 -> 激活环境 -> 从该环境运行命令。这是我到目前为止得到的:

  environment {
    PATH = "$WORKSPACE/miniconda/bin:$PATH"
  }

  stages {
    stage('setup miniconda') {
        steps {
            sh '''#!/usr/bin/env bash
            wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
            bash miniconda.sh -b -p $WORKSPACE/miniconda
            hash -r
            conda config --set always_yes yes --set changeps1 no
            conda update -q conda

            # Useful for debugging any issues with conda
            conda info -a
            conda config --add channels defaults
            conda config --add channels conda-forge
            conda config --add channels bioconda

            # create snakemake-workflows env
            conda init bash
            conda env create -f envs/snakemake-workflows.yaml
            '''
        }
    }
    stage('Test downloading') {
        steps {
            sh '''#!/usr/bin/env bash
            conda init bash
            conda activate miniconda/envs/snakemake-workflows/
            snakemake -s workflows/download_fastq/Snakefile --directory workflows/download_fastq -n -j 48 --quiet
            '''
        }
    }

miniconda 的安装似乎可以工作,但是阶段测试下载的下一步会导致错误:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

我该如何继续?我需要初始化我的 conda,但它似乎没有效果(我在创建环境时以及尝试激活它时执行此操作)。


如果 conda 以静默模式安装(-b 标志),那么它不会编辑您的 bashrc (请参阅https://docs.anaconda.com/anaconda/install/silent-mode/ https://docs.anaconda.com/anaconda/install/silent-mode/)。所以在Test downloading阶段您将必须再次手动初始化它。

这应该有效:

stage('Test downloading') {
            steps {
                sh '''#!/usr/bin/env bash
                source $WORKSPACE/miniconda/etc/profile.d/conda.sh
                conda activate miniconda/envs/snakemake-workflows/
                snakemake -s workflows/download_fastq/Snakefile --directory workflows/download_fastq -n -j 48 --quiet
                '''
            }
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkinsfile 中的 Anaconda 的相关文章

  • 无法通过Anaconda/jupyter获取MNIST数据库

    Hu guys 我是 python anaconda jupyter numPy panda 等的新手 所以如果这是一个非常愚蠢的问题 请原谅我 我正在尝试使用 anaconda jupyter 获取 MNIST 数据库 但每次我最后都会收
  • 如何从 jenkins 作业的 scm 轮询中排除 jenkins 文件

    我正在使用声明性管道语法 我的 jenkins 文件存储在 git hub 存储库中 与要构建的代码分开 因此我设置了 jenkins 作业以从 scm 获取管道脚本 并在 master 分支上选择我的 git 存储库 在我的管道脚本中 我
  • jenkins构建完成后如何将更改推送到github?

    我有一个 jenkins 作业 它从 github 克隆存储库 然后运行 powershell 脚本来增加文件中的版本号 我现在正在尝试将该更新文件发布回 github 上的原始存储库 因此当开发人员提取更改时 他会获得最新的版本号 我尝试
  • Jenkins Git 参数插件无法获取标签

    詹金斯版本 1 593 Git 参数插件 0 4 0 GIT 客户端插件 1 16 1 我使用私有 git 存储库 可以通过 ssh 访问 我的构建是参数化的 git参数是TAG TO BUILD 要构建的分支是refs tags TAG
  • 如何添加更多数据存储在 jenkins Rest api 中

    为了使问题变得简单 我知道我可以通过以下方式获取一些构建信息https jenkins server https jenkins server api json xml python 我获得了有关该构建记录的大量信息 但是 我想向该构建记录
  • 是否可以允许jenkins访问只有root或某些特定程序可以访问的文件?

    我基本上想做的是允许 jenkins 访问我的 android sdk linux 文件夹和所有子目录 我的老板不想自己更改文件夹的权限 我应该在构建过程中这样做 我见过一些在构建过程中在执行 shell 中运行一些命令的示例 是否可以在该
  • 在 Dockerfile 中安装节点?

    我是AWS elastic beanstalk的用户 我遇到了一些问题 我想用 less node 构建我的 CSS 文件 但我不知道在使用 jenkins 构建时如何在 dockerfile 中安装节点 这是我在 docker 中使用的安
  • Maven 不能在 jenkins 上运行(但可以通过 eclipse 和命令行运行)

    我有一些 CI 测试 全部在 Maven 中进行 当我在本地 Windows 10 的 Eclipse 中运行它们以及通过 ec2 Linux 服务器中的命令行运行它们时 构建成功 仅当我从 Jenkins 构建相同的项目时 我会收到以下错
  • 詹金斯可以在构建操作之间添加睡眠时间吗?

    我正在 Jenkins 中启动 JBoss 服务器作为构建操作 下一个操作将运行一组测试 我需要在两个操作之间添加睡眠时间 有谁知道如何轻松做到这一点 可以使用sleep进入 Jenkins 管道 该步骤包含在管道 基本步骤 https p
  • OSError:[Errno 'jupyter-notebook' 未找到] 2

    您好 我已经安装了 Anaconda3 4 3 1 Windows x86 64 在我的桌面上 但运行命令时出现以下错误 Jupyter笔记本 来自命令提示符 Error C Users my pc gt jupyter notebook
  • conda 环境中 conda 和 pip 安装的区别

    我似乎经常问自己这个问题 最近改用 conda 环境 Anaconda 但我最终用谷歌搜索并没有走得太远 我现在在自己的 conda 环境中运行所有项目 因为我喜欢将所有内容保持独立 并尽可能减少对其他程序的依赖 比如最近的一个环境 con
  • 作为二进制 tarball 的便携式 conda 环境

    我正在尝试构建一个便携式conda环境 因此 我们可以稍后将其压缩并分发到另一台服务器或许多服务器 我们搭建环境的地方和后面部署环境的地方是两个不同的地方 我注意到conda create and conda install将环境位置硬编码
  • Conda 无法在 Powershell 中激活

    我已经在我的 Windows 10 笔记本电脑上安装了 anaconda 我正在尝试激活名为的Python环境pyenv 首先 我检查conda env list在我的笔记本电脑中 这是 powershell 上的输出 PS C Users
  • 使用 jenkins.Creating .apk 文件生成 android 版本

    我正在使用 Jenkins 在 mac 上持续集成 android 应用程序 但是我无法使用 Jenkins 生成 apk 文件 就像我们在 iOS 应用程序中创建 ipa 一样 创建用于在 mac 上分发的 apk 文件的配置是什么 您可
  • 具有 Azure Active Directory 身份验证的 Jenkins:REST API 访问不适用于不记名令牌

    我需要使用 python 代码访问 Jenkins REST API 需要一些有关正确方法的指导 我在 apache tomcat 中托管了 jenkins v2 176 1 并启用了 SSL 我已根据以下内容配置了 Azure AD 身份
  • 访问先前 Jenkins 构建中失败的阶段

    我编写了一个 Jenkinsfile 脚本 它获取当前 Github 提交中的文档是否已更新或代码是否已更新 并相应地启动所有阶段 如果仅更新文档 我不会再次运行代码测试阶段 所以现在如果之前的构建失败并且现在在当前的 Git 提交中仅更新
  • 在 Cloudbees Jenkins 文件夹中设置环境变量

    在我重新安装 Jenkins 和 Cloudbees Free Enterprise 插件后 Jenkins 文件夹中设置的环境变量停止工作并从配置 UI 中消失 但是 它仍然存在于文件系统上的 config xml 中 如下所示
  • 无法在 Jupyter Notebook 中安装 arcpy

    我安装了 ArcGIS Pro 其中包括已安装的 Python 包 我正在尝试学习 Python 并且想使用 ArcPy 函数 我以前从未使用过 Jupyter Notebook 但为了开始使用 我创建了一个新的 Python 3 文件 我
  • 解锁 Jenkins - 如何

    我已经使用 putty 从 Windows 系统在我的 ec2 实例上安装了 jenkins 当我尝试通过网络访问 jenkins 时 我使用 var lib jenkins secrets initialAdminPassword 解锁
  • Jenkins 管道和 java.nio.file.* 方法的问题

    我正在尝试使用 java nio file 中的方法在 Jenkins 管道中执行一些基本文件操作 无论代码存在于哪个节点块中 代码都在主节点上执行 在管道中 我已经验证了各个节点块都是正确的 它们唯一地标识了特定的节点 但是 pathEx

随机推荐