在Atlassian Bamboo中如何让脚本读取Stash Repo中的文件?
Bamboo Script任务读取Stash仓库文件配置方法
前置仓库绑定配置
- 进入对应Bamboo计划的配置页面,找到Repositories标签,点击添加仓库,选择Stash(新版对应Bitbucket Server)类型,填写仓库地址,绑定有仓库读取权限的认证凭据(推荐使用个人访问令牌PAT或SSH密钥),保存配置。
- 进入计划对应Job的配置页,确认该Job已经关联刚才添加的Stash仓库,可根据需求自定义要拉取的分支、标签规则。
Script任务配置步骤
- 调整任务顺序:必须将Script任务放在Source Code Checkout任务之后,Checkout任务会先把Stash仓库的文件全量拉取到Bamboo构建工作目录,Script任务才能读取到对应文件。
- 进入Script任务配置页,根据你的运行环境选择对应解释器(Linux选Shell,Windows选PowerShell),脚本内可直接通过相对路径读取Stash仓库内的文件,仓库根目录默认等于构建工作目录根目录。
- 比对生成增量文件的Shell参考示例:
# 用git比对最近两次提交的指定文件生成增量diff git diff HEAD~1 HEAD -- ./target_file.md > increment_diff.txt # 比对仓库内两个静态文件生成增量 diff ./version_a.json ./version_b.json > increment_result.json
如果你需要使用绝对路径避免路径异常,可以调用Bamboo内置环境变量
${bamboo_build_working_directory}获取构建工作目录的绝对路径,示例:REPO_ROOT=${bamboo_build_working_directory} cat ${REPO_ROOT}/your_file_path
异常排查
- 脚本读不到文件时,先查看Source Code Checkout任务的执行日志,确认仓库拉取成功、目标文件存在于构建工作目录中
- 确认脚本执行的系统用户对工作目录下的文件拥有读权限
内容的提问来源于stack exchange,提问作者st_bones
相关产品推荐
相关产品推荐

