使用 Travis-CI 推送 Git 存储库

2024-03-14

我想每次推送到主服务器时都执行一个脚本,该脚本将创建一些我想要提交和推送的文件。 Travis 构建的日志似乎正在添加文件、提交和推送,但没有任何反应。

我的 .travis.yml 是这样的:

before_install:
  - openssl aes-256-cbc -K $encrypted_290c3b2c061d_key -iv $encrypted_290c3b2c061d_iv -in id_rsa.enc -out /tmp/id_rsa -d
  - eval "$(ssh-agent -s)" # Start the ssh agent
  - chmod 600 /tmp/id_rsa
  - ssh-add /tmp/id_rsa
install:
- wget --user $docencia_ac_username --password $docencia_ac_password http://docencia.ac.upc.edu/FIB/grau/PEC/Protegido/Documentacion/eines-sisa-64BITS.tgz
- tar -xf eines-sisa-64BITS.tgz
- export PATH=$PATH:$(pwd)/eines-sisa/bin
script:
- chmod +x ./compile_to_hex.sh
- "./compile_to_hex.sh"
after_success: 
  - rm -rf $TRAVIS_BUILD_DIR/tmp/
  - git config --local user.name "Marc43"
  - git config --local user.email "my mail"
  - git add $TRAVIS_BUILD_DIR/hex/*
  - git commit -m "At $(date) hex files builded - travis-ci [skip ci]"
  - git push [email protected] /cdn-cgi/l/email-protection:Marc43/sisa_hexbuilder.git master > /dev/null 2>&1 
before_deploy:
- rm -rf eines-sisa*

在 git user.email 中,它确实是我的电子邮件,但我决定将其删除以解决问题。 构建的 travis 日志是:

$ git add $TRAVIS_BUILD_DIR/hex/*
$ git commit -m "At $(date) hex files builded - travis-ci [skip ci]"
[detached HEAD 10e7e48] At Sun Apr 15 08:06:17 UTC 2018 hex files builded - travis-ci [skip ci]
 4 files changed, 21 insertions(+)
 create mode 100644 hex/exemple.hex
 create mode 100644 hex/joc_io.hex
 create mode 100644 hex/tb_branch.hex
 create mode 100644 hex/tb_sum.hex

我知道还有另一种方法可以通过 GitHub 令牌或类似的东西来做到这一点,无论如何我不知道如何以一种或另一种方式做到这一点。我也尝试通过部署来完成此操作,但它从未上传我的文件,只是标记了我所做的相同提交。有任何想法吗?

谢谢你, 马克


我运行了几个需要将文档编译为可分发格式的存储库(例如,将 AsciiDoc 编译为 HTML,将 MD 编译为 PDF),而不是每次想要更新可分发时都必须构建和提交,我希望自动化此过程。这是我使用 TravisCI 作为构建服务器的地方。

before_install:
  - sudo apt-get install pandoc
  - gem install asciidoctor
script:
  - make
after_success:
  - .travis/push.sh
env:
  global:
    secure: hZJlqgOzA2zIUJSWIka0PylqNaTkfHq+kS48RrHmocrK0vLyCW7ECWrzez2f2RVdTNzPi0b+yJq2uCbFfWjImZqg+XY1I75/CVVdSYMk7PJkYZ/iBDixMYY8CAkRRd5yZft9uZAdZzR4KLCPN18n7qfISv/M9VA8989NKcVyiEU=

push.sh

#!/bin/sh

setup_git() {
  git config --global user.email "[email protected] /cdn-cgi/l/email-protection"
  git config --global user.name "Travis CI"
}

commit_website_files() {
  git checkout -b gh-pages
  git add . *.html
  git commit --message "Travis build: $TRAVIS_BUILD_NUMBER"
}

upload_files() {
  git remote add origin-pages https://${GH_TOKEN}@github.com/MVSE-outreach/resources.git > /dev/null 2>&1
  git push --quiet --set-upstream origin-pages gh-pages 
}

setup_git
commit_website_files
upload_files

参考 -https://gist.github.com/willprice/e07efd73fb7f13f917ea https://gist.github.com/willprice/e07efd73fb7f13f917ea

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

使用 Travis-CI 推送 Git 存储库 的相关文章

随机推荐

  • 如何将矩阵划分为大小不等的子矩阵?

    我想知道是否可以使用mat2cell函数来划分MxN将矩阵分成 10 个具有相同列大小的子矩阵 N 并且行大小大致相同 M 10 If mod M 10 0那么所有子矩阵将具有相同的大小 否则一些矩阵将具有 1 行 这可以通过mat2cel
  • 调用 YouTube 应用程序打开 Youtube 频道 (Android)

    我想打开显示特定频道的 YouTube 应用程序 但这仅执行浏览器 try Intent intent new Intent Intent ACTION VIEW intent setData Uri parse http www yout
  • 如何在 Python 中使用多个字符串参数

    我想使用 s 将两个参数传递给我的字符串 我尝试了这个 但没有成功 title im s with s title programming python 它给出了这个错误 Traceback most recent call last Fi
  • 无法调用网络服务

    我目前正在尝试使用使用 Apache CXF 构建的客户端来调用 Web 服务 尽管该服务在浏览器中可用 但由于以下错误 我无法连接到它 关于这个问题有什么想法吗 org apache cxf phase PhaseInterceptorC
  • 使用 get_posts 显示 WordPress 帖子 - 第一篇帖子不显示日期

    您好 我正在使用 get posts 来获取所有标记为 新闻 的帖子并将其显示在给定页面上 我使用 the date 来获取日期 但奇怪的是第一篇文章没有显示日期 而此后的所有文章都显示日期 此外 我还使用了相同的代码在另一个页面上显示标记
  • 按钮边距的布局问题

    我在 Android 应用程序中组织布局时遇到问题 我正在动态创建按钮并使用此代码将它们添加到我的布局中 LayoutInflater layoutInflater LayoutInflater getBaseContext getSyst
  • 如何在 R 中 gsub 一个空的“”字符串?

    如何替换空字符串 This x c b gsub taco x 产生 taco tacobtaco 代替 taco b 有什么办法可以替换空字符串吗 我会用nchar here x nchar x 0 lt taco EDIT 如果您正在寻
  • 如何获取ServiceState的实例?

    我正在尝试获取一个实例ServiceState in my Activity 但我该怎么做呢 没有静态方法可以获取实例 也没有任何服务上的任何方法返回ServiceState实例 有的是TelephonyManager listen 称呼
  • 如何在 Laravel 模型上设置属性的默认值[重复]

    这个问题在这里已经有答案了 如何在 Laravel 模型上设置属性的默认值 我应该在创建迁移时设置默认值还是应该在模型类中设置它 您还可以在模型中设置默认属性 gt protected attributes status gt self S
  • 部署闪亮应用程序时出错

    我正在尝试将闪亮的应用程序部署到闪亮的服务器中 但出现此错误 Error HTTP 400 POST https api shinyapps io v1 applications Validation Error 在控制台写入后 shiny
  • 在 PHP 中使用大括号构建代码

    是否可以将 PHP 中的代码片段括在括号内 不使用片段作为函数 以下代码的行为是否与没有大括号时的行为相同 或者根据括号内部或外部使用的代码类型可能会出现任何问题 例如 这将是 始终以与此相同的方式行事 Update 正如 My1 的评论中
  • WebClient 的 bodyToMono 对空主体的预期行为

    当 WebClient bodyToMono 遇到空主体时 预期的行为是什么 在我的具体示例中 我们正在检查从调用后返回的状态 如果是错误 则将其转换为我们的自定义错误格式 如果转换为自定义错误格式失败 我们会以自定义格式创建一个新错误来说
  • 代码段的时间复杂度

    从在线笔记中 我读到了以下用于反转字符串的java代码片段 据称该代码片段具有二次时间复杂度 在我看来 i 的 for 循环只是迭代 s 的整个长度 它如何导致二次时间复杂度 public static String reverse Str
  • 将项目上传到 Azure Devops

    我正在尝试将现有的 Visual Studio 项目代码推送到 Azure DevOps 服务器 第一次 所有教程都从在 AzureDevops 上创建一个新项目开始 然后克隆到 Visual Studio 谁能告诉我如何将现有项目推送到服
  • Apache Shiro EhCache初始化异常:同一VM中已存在另一个未命名的CacheManager

    我正在尝试将 EhCache 配置为处理启用 Apache Shiro 的 Web 服务中的授权缓存 目前我收到以下异常 org apache shiro cache CacheException net sf ehcache CacheE
  • Android 应用内结算返回服务器响应代码 2。这是什么意思?

    我正在使用应用内结算 V3 当我尝试购买时 我收到服务器响应代码 2 我已经搜索过 但找不到有关此响应代码含义的文档 如果你看官方的话应用内结算参考 IAB 版本 3 http developer android com google pl
  • 从 Git 子模块存储库导入 React 组件

    我有一个用 React 开发的父存储库 其中有一个子子模块 也是由 React 开发的 项目文件夹结构如下所示 parent git nodemodule src subModules childProject git src js x j
  • 在 ANTLR 3 中,如何在运行时而不是提前生成词法分析器(和解析器)?

    我想在运行时生成 antlr 词法分析器 也就是说 生成语法并从语法生成词法分析器类及其在运行时的支持位 我很高兴将它输入到 java 编译器中 它可以在运行时访问 这是一种快速但肮脏的方法 生成一个combined ANTLR 语法 g给
  • 与单进程场景​​相比,多进程场景中的访问时间意外缩短

    我正在从program1访问共享库 共享数组数据结构 并找到读取该数组的所有元素的访问时间 当只有 Program1 单独执行时 我得到了大约 17000 个时钟周期 现在 当我首先在另一个选项卡中执行program2 具有空的while循
  • 使用 Travis-CI 推送 Git 存储库

    我想每次推送到主服务器时都执行一个脚本 该脚本将创建一些我想要提交和推送的文件 Travis 构建的日志似乎正在添加文件 提交和推送 但没有任何反应 我的 travis yml 是这样的 before install openssl aes