持续集成实践

核心提示我们知道持续集成和发布是时下开发运维界的香饽饽。每一个团地都是使用CI/CD来极大的提高开发效率,加速项目的迭代和部署上线。然而还有很多开发者还因为CI/CD的初始比较繁琐而望而却步。本文虫虫给实例大家介绍一个最简单的CI/CD流程,实现代

我们知道,持续集成和发布是当今开发和运营领域的热点。每个团都使用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迭代发布过程的持续集成。

 
友情链接
鄂ICP备19019357号-22