language: node_js
script: true
所以呢,我在 .travis.yml
里,配置了一个执行脚本的任务;那么现在 Travis 监测到我仓库有 commit 后就会找到 .travis.yml
这个文件,然后就执行了我的那个脚本了。
install
字段用来指定安装脚本,如果有多个脚本,可以写成下面的形式。
install:
-
command1
-
command2
上面代码中,如果 command1
失败了,整个构建就会停下来,不再往下进行
如果不需要安装,即跳过安装阶段,就直接设为 true
。
install: true
script
字段用来配置构建或者测试脚本,如果有多个脚本,可以写成下面的形式。
script:
-
command1
-
command2
注意,script
与 install
不一样,如果 command1
失败,command2
会继续执行。但是,整个构建阶段的状态是失败。
如果 command2
只有在 command1
成功后才能执行,就要写成下面这样。
script: command1 && command2
==========================================================================
现在脚本是由 Travis CI 来执行的,部署的时候,怎么让 Travis 有权限往 Github 提交代码呢?
Github 有提供一个 Personal access tokens,这个 Token 与 账号密码 以及 SSH Keys 同样具有 Github 写入能力。
前往 Github 帐号 Settings 页面,在左侧选择 Personal Access Token,然后在右侧面板点击 “Generate new token” 来新建一个 Token。需要注意的是,创建完的 Token 只有第一次可见,之后再访问就无法看见(只能看见他的名称),因此要保存好这个值。
那么,这个 Token 怎么使用呢。
一个比较方便快捷的方式,是通过 Travis 网站,写在每个仓库的设置页面里,有一个 Environment Variables
的配置项,给我们的 Token 起一个名字 gh_token
添加进去。这样以来,脚本内部就可以使用这个环境变量了。
你可以在你脚本内部使用 ${gh_token}
的形式来使用这个 Token 了。【当然了,你还可以添加其他的环境变量进去。】【官方文档在这里】
使用 Personal access tokens 向 GitHub 提交代码的命令格式如下:
${GH_TOKEN} 对应就是 Personal access tokens , GH_TOKEN 是环境变量名
${GH_REF} 对应的是你的 Github 仓库地址,GH_REF 是变量名
git push -f “https:// G H T O K E N @ {GH_TOKEN}@ GHTOKEN@{GH_REF}” master:gh-pages
这里需要注意的是:
1、GitHub 生成的这个 Token ,只有生成的时候可以看到明文,后面就看不到明文了,所以你使用的时候最好一次操作成功。
2、Travis CI 中添加 Token 时,记得用密文,要不然在 build log 中是可以被看到的。
你还可以使用 Travis CI 提供的加密工具来加密我们的这个 Token。加密原理机制如下:
首先,安装 Ruby 的包 travis
。
安装 Travis CI 命令行工具
$ gem install travis
然后,就可以用 travis encrypt
命令加密信息。
在项目的根目录下,执行下面的命令。
$ travis encrypt name=secretvalue
上面命令中,gh_token
是要加密的变量名,secretvalue
是要加密的变量值。执行以后,屏幕上会输出如下信息。
secure: “… encrypted data …”
现在,就可以把这一行加入 .travis.yml
。
env:
global:
-
GH_REF: github.com/Neveryu/xxxxx.git
-
secure: “… entrypted data …”
然后,脚本里面就可以使用环境变量 gh_token
了,Travis 会在运行时自动对它解密。
${gh_token} 对应就是 Personal access tokens , gh_token 是环境变量名
${GH_REF} 对应的是你的 Github 仓库地址,GH_REF 是变量名
git push -f “https:// g h t o k e n @ {gh_token}@ ghtoken@{GH_REF}” master:gh-pages
travis encrypt
命令的 --add
参数会把输出自动写入 .travis.yml
,省掉了修改 env
字段的步骤。
$ travis encrypt name=secretvalue --add
详细信息请看官方文档
【可以参考我的 vue-cms 这个项目中的 .travis.yml
文件】
==================================================================
如何显示 Status Image
跳过自动构建
如果 commit 不想让 Travis 构建,那么就在 commit message 里加上 [ci skip] 就行了。
git commit -m “[ci skip] commit message”
权限问题
如果遇到脚本权限不够的提示或者问题,你可以给你的脚本加上权限:
chmod u+x deploy.sh
或者在 .travis.yml
里加:
before_install:
- chmod u+x deploy.sh
==================================================================
Travis CI 加密文件
如果要加密的是文件(比如私钥),Travis 提供了加密文件功能。
安装命令行客户端以后,使用下面的命令登入 Travis CI 。
$ travis login
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
链图片转存中…(img-2PKElbaG-1715826304676)]
[外链图片转存中…(img-DrpblyWR-1715826304677)]
[外链图片转存中…(img-ilbw6ulH-1715826304677)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!