yml travis que generate deploy create cli github travis-ci github-pages

github - que - Compromiso vía travis ci fallido.



travis cli (2)

¡Ciertamente puedes! El primer problema, como descubrió, se debe al uso de la URL git:// para enviar, pero el protocolo de git solo se puede usar para clonar repositorios.

En cuanto al error de "acceso anónimo denegado", es porque debe permitir que Travis inicie sesión en su cuenta de GitHub para ingresar al repositorio. Ahora, probablemente no quieras darle a Travis tu contraseña de GitHub, y ciertamente no tienes que hacerlo. En su lugar vamos a utilizar tokens OAuth. Si no tienes idea de lo que eso significa, no te preocupes, te lo explicaré. Un token de OAuth en la mayoría de los casos funciona como una contraseña, pero es más fácil revocar el acceso a cosas individuales.

Para generar un token de OAuth, vaya a la página de configuración de las aplicaciones de GitHub y haga clic en "Crear nuevo token" en "Token de acceso a API personal". Es probable que desee agregar una nota para lo que es, de esta manera es más fácil hacer un seguimiento y revocarlo si lo necesita en el futuro. Tenga en cuenta que este token es esencialmente una contraseña porque le da acceso a las mismas cosas que una contraseña.

Luego, debe agregar el token a su archivo .travis.yml. Primero, cifraremos el token para que solo Travis pueda verlo. Para esto, necesitas el travis Rubygem instalado: gem install travis .

travis encrypt GH_TOKEN="the-token-from-github" --add

Tu .travis.yml ahora debería verse algo como esto:

… env: global: - secure: "lots-of-seemingly-random-characters" …

Ahora, para que Travis realmente use este token, también necesita agregar algunas cosas más a su .travis.yml.

after_script: - git config credential.helper "store --file=.git/credentials" - echo "https://${GH_TOKEN}:@github.com" > .git/credentials - node ./node_modules/grunt-cli/bin/grunt release

Esto primero le dice a git que busque credenciales en el archivo .git/credentials . Este puede ser el archivo que quieras, realmente, pero asegúrate de no empujar a GitHub. Luego, agregamos el token al archivo .git/credentials . Git ahora sabe que para los envíos a https://github.com , puede usar su token para autenticarse.

Deberías estar todo listo!

PD: si solo quieres enviar a GitHub si la compilación pasa, puedes cambiar after_script por after_success .

Estoy tratando de usar la extensión grunt-gh-pages para comprometerme con mi rama gh. Funciona bien localmente, pero cuando uso TRAVIS-CI falla. Da el siguiente mensaje de error:

Warning: fatal: remote error: You can''t push to git://github.com/tusharmath/tusharm.com.git Use https://github.com/tusharmath/tusharm.com.git Use --force to continue.

Y cuando actualizo la opción de repo recibo el siguiente error:

Warning: remote: Anonymous access to tusharmath/tusharm.com.git denied. fatal: Authentication failed for ''https://github.com/tusharmath/tusharm.com.git/'' Use --force to continue. Aborted due to warnings.

Básicamente, solo quiero que Travis-ci confirme los archivos en la rama de gh-pages de mi repositorio. ¿Hay una manera de hacerlo?

Actualizar el .travis.yml final que solucionó el problema.

language: node_js node_js: - ''0.11'' before_script: - git config --global user.email "[email protected]" - git config --global user.name "Travis-CI" after_script: - git config credential.helper "store --file=.git/credentials" - echo "https://${GH_TOKEN}:@github.com" > .git/credentials - node ./node_modules/grunt-cli/bin/grunt release env: global: secure: {"lots-of-seemingly-random-characters"}


La respuesta de es excelente, pero la solución no funciona con grunt-gh-pages porque crea otro repositorio de Git en algún lugar de .grunt/grunt-gh-pages/ sub-directory. Por lo tanto, git config hecho en la sección after_script o after_success no es usado por grunt-gh-pages.

Es posible agregar GH_TOKEN a la URL del repositorio utilizada por grunt-gh-pages en Gruntfile.js como esto:

''gh-pages'': { // your common gh-pages config travis: { options: { repo: ''https://'' + process.env.GH_TOKEN + ''@github.com/dim2man/csbrowser.git'', silent: true }, src: [''**''] } }

Tenga en cuenta la opción silent: true , evita la publicación de su valor de token en los registros de Travis.

Luego, su sección after_script o after_success puede modificarse como:

after_success: grunt gh-pages:travis