使用Travis-CI推送Git存储库

时间:2018-04-15 08:18:06

标签: github travis-ci

我想在每次推入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令牌或类似的东西来做到这一点,无论如何我不知道如何以这种或那种方式做到这一点。我也尝试过使用部署,但它从未上传我的文件,只是标记了我做的相同提交。有任何想法吗?

谢谢你, 马克

1 个答案:

答案 0 :(得分:0)

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

相关问题