【问题标题】:Pushing on a Git repository with Travis-CI使用 Travis-CI 推送 Git 存储库
【发布时间】:2018-07-10 00:07:30
【问题描述】:

我想每次推送到master时执行一个脚本,这个脚本会创建一些我想要提交和推送的文件。 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 git@github.com: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 令牌或类似的东西来做到这一点,无论如何我不知道如何做到这一点。我也尝试过部署,但它从未上传我的文件,只是标记了我所做的相同提交。有任何想法吗?

谢谢你, 马克

【问题讨论】:

    标签: github travis-ci


    【解决方案1】:

    我运行了几个需要将文档编译为可分发格式的存储库(例如,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 "travis@travis-ci.org"
      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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      相关资源
      最近更新 更多