我们知道,持续集成和发布是当今开发和运营领域的热点。每个团都使用CI/CD,大大提高了开发效率,加速了项目的迭代和部署。但还是有很多开发者对繁琐的初始CI/CD望而却步。本文中,Bug将最简单的CI/CD流程引入到实例中,实现了代码编写、编译、部署的一栈流程。这个过程涉及Travis CI、Github pages和Scala.js的免费版本,实现了Scala.js应用向Github pages的持续部署。
摘要

Scala.js
Scala.js是一款Scala转js代码编译器,生态良好,功能齐全,支持丰富。Scala.js支持Scala语言的所有特性。通过Scala.js,可以实现从前端到后端的Scala全栈Web开发。
特拉维斯·CI
Travis CI是一个持续集成的开源CI系统。与其他CI系统相比,Travis CI提供的项目可以在SaaS云版本和GitHub项目之间无缝集成,在GitHub上构建和测试。Github公共项目可以免费使用,可以通过Github账号直接登录配置。我们只需要根据项目的实际需求,访问我们的GitHub账号,提供相关权限,更新travis.yaml文件即可。
环境安装
所有环境都需要Node.js和sbt,需要提前安装,还需要一个Github账号。
在centos下,可以先把khara-nodejs-epel-7.repo和bintray-sbt-rpm.repo添加到/etc/yum.repos.d,然后通过yum安装。
yum安装节点js节点js-npm sbt
项目实战
创建项目
运行以下命令:
sbt新scala/hello-Chongchong.g8
这个命令将创建一个带有“hello-world”模板的Scala项目。
我们也可以从头开始手动创建Scala.js项目,我们可以执行以下步骤:
创建文件project/plugins.sbt,并通过添加以下代码来添加Scala.js sbt插件:
addSbtPlugin
我们希望设置基本项目,并在sbt构建文件中启用这个插件。在build.sbt中添加以下行:
启用插件
scalaJSUseMainModuleInitializer:= true
运行项目
要运行项目,只需启动sbt并调用run任务:
sbt运行
结果如下:
HTML集成
为了加载和启动创建的JS,我们需要一个HTML文件来调用JS。我们在项目的根目录中创建文件夹源。将所有的源文件放在这个文件夹中,同时我们手动创建一个index.html文件,内容如下:
Scala.js CI实例
创建Github仓库
添加。gitignore项目根文件夹中的文件,不包括以下文件:
*.班级

*.原木
。缓存/
。历史/
。lib/
距离*。js public/js/
将deploy.sh文件添加并提交到仓库,以在Travis CI上生成travis.yml文件,并将其添加并提交到仓库库,以使用以下内容配置Travis CI:
语言:scala
jdk: openjdk8
scala:
- 2.12.10
分支:
仅:
-主人
脚本:
- bash deploy.sh
部署:
提供商:页面
跳过清理:真
github-token: $GH_TOKEN
保留历史记录:真
开启:
分支:主
本地目录:公共
Travis CI将被自动编译。部署成功后:
现在,切换到仓库的gh-pages分支,可以找到Travis Robot自动发布的生成页面:
我们切换到对应于项目F12的Pages页面,并在调试模式下查看该页面的控制台输出:
好了,如上图,我们的Scala.js应用已经部署在Github页面上了!
注意,这里为了方便,我们只是设置了一个简单的控制台来打印hello,ChongChong,但是html页面中没有显示任何元素,所以浏览器直接打开空 white页面,可以在上面添加内容。Scala源代码是:
对象主扩展应用程序{

println
}
Travis CI部署Scala.js应用程序。
摘要
在本文中,我们用一个简单的scala.js示例说明了通过Travis CI在Github页面上持续集成和部署的示例。本文主要描述了Travis CI的配置,与Github warehouse的交互,以及one-stack迭代发布过程的持续集成。


