Skip to content

travis cli 自动构建部署loppo项目

mo watermelon edited this page Apr 7, 2019 · 1 revision

前置准备

文件准备

  • loppo基础知识,请查看https://github.com/ruanyf/loppo仓库地址进行查看
  • loppo.yml配置知识,请查看https://raw.githubusercontent.com/ruanyf/loppo/master/loppo.yml.default地址进行查看
  • loppo-sever指令知识,请查看https://github.com/ruanyf/loppo/blob/master/docs/sub-commands.md地址进行查看
  • loppo-cli指令知识,请查看https://github.com/ruanyf/loppo/blob/master/docs/cli-options.md地址进行查看

准备好可以直接调用loppo指令编译的文件。

|─src
|   |─chapters01
|   |   |─ page1.md
|   |   └─ README.md
|   |─chapters02
|   |   |─ page1.md
|   |   └─ README.md
|   |─chapters03
|   |   |─ page1.md
|   |   └─ README.md
|   └─chapters04
|   |   |─ page1.md
|   |   └─ README.md
|─ .gitignore
|─ chapters.yml
└─ loppo.yml

添加.travis.yml文件

前置了解

更多配置请查看官方文档

travis-ci完整构建生命周期如下

  • before_install
  • install
  • before_script
  • script
  • after_success or after_failure
  • after_script
  • OPTIONAL before_deploy
  • OPTIONAL deploy
  • OPTIONAL after_deploy

添加loppo项目配置

主要思路是loppo构建,会自动将生成文件放到docs文件夹中,完成之后进入构建文件夹,将docs文件夹下的文件全部强制推送到master分支。

这样保证,每次只要blog分支有文件发送,都可以自动构建到master分支。

请记住下文push验证发布的变量key名-GH_TOKEN

language: node_js
node_js: stable

# before_install:
  # do something before install

# install:
  # do something for install

before_script:
  # do something before excute script
  # add loppo dep
  - "npm install loppo -g"

script:
  # excute some script for build project
  # build project
  - loppo

# after_success:
  # do something after excute script success

# after_failure:
  # do something after excute script failure



after_script:
  # do something after excute script
  - ls
  - cd ./docs
  - git init
  - git config user.name "mowatermelon"
  - git config user.email "neefoxmo@gmail.com"
  - git add .
  - git commit -m "Update docs"
  - git push --force --quiet "https://${GH_TOKEN}@${MELON_REF}" master:master

branches:
  only:
    # confirm to keep only the corresponding braches monitored
    - blog
env:
 global:
   # add some global parameters
   - MELON_REF: github.com/mowatermelon/learn-es6.git

添加缓存

如果部署的项目中,需要运行 npm install 安装 node 的库时候占据了部署的很大一部分时间,这里有一个技巧,可以将 node_modules 缓存起来,这样可以节省部署的时间。

本次案例中暂不需要,所以就不用添加到.travis.yml配置中。

cache:
  directories:
    - node_modules

获取access tokens

进入配置页

打开https://github.com/settings/tokens页面,选择Personal access tokens

image


新建token

选择Generate new token,然后填写当前key的描述

image


配置相关权限

image


确认生成key

在生成之后,github会先将对应key展示,并且会提示,这个key只会展示一次,之后就不会再出现了。

一般是由数字字母构成长度为40的随机字符串。

妥善保存好这次生成的xxxxxxxxtoken。

image


提交文件

新建仓库项目https://github.com/mowatermelon/learn-es6,选择新建分支[blog](https://github.com/mowatermelon/learn-es6/tree/blog),并将相关代码提交到仓库对应分支。

请注意,不需要在master分支写任何文件。

image


开启文件服务

进入https://github.com/mowatermelon/learn-es6/settings设置页,开启项目的GitHub Pages,注意开启的是master分支。

image


travis网站配置

选择监控仓库

进入https://travis-ci.org/account/repositories,选择需要开启监控状态的仓库,点击仓库对应的switch开关,打开仓库监控状态。

image


进入setting

开启仓库监控状态之后,选择对应仓库的setting按钮,进入设置页面。

https://travis-ci.org/mowatermelon/learn-es6/settings

image


配置token变量

在之前步骤添加.travis.yml配置中使用到了GH_TOKEN这个全局变量名。

还有在获取access tokens步骤中获取到的xxxxxxxxtoken。

添加到项目的Environment Variables中,因为这个涉及到token安全性问题,所以不能放到.travis.yml文件中,在页面中以图形化的形式进行添加,方便数据保密。

image


查看结果

查看运行效果

https://travis-ci.org/mowatermelon/learn-es6/jobs/492112939#L560

Worker information
hostname: 7df27d55-00b7-4f8c-a122-3f679e8c21ea@1.production-1-worker-org-gce-gnz2
version: v6.2.0 https://github.com/travis-ci/worker/tree/5e5476e01646095f48eec13196fdb3faf8f5cbf7
instance: travis-job-d5b70e80-b5e0-40ac-b91b-59cb4a9c17e6 travis-ci-garnet-trusty-1512502259-986baf0 (via amqp)
startup: 6.311039362s
system_info
Build system information
Build language: node_js
Build group: stable
Build dist: trusty
Build id: 492112938
Job id: 492112939
Runtime kernel version: 4.4.0-101-generic
travis-build version: 7675838a8
Build image provisioning date and time
Tue Dec  5 19:58:13 UTC 2017
Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty
Cookbooks Version
7c2c6a6 https://github.com/travis-ci/travis-cookbooks/tree/7c2c6a6
git version
git version 2.15.1
bash version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
gcc version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
docker version
Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:42:38 2017
 OS/Arch:      linux/amd64
Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:41:20 2017
 OS/Arch:      linux/amd64
 Experimental: false
clang version
clang version 5.0.0 (tags/RELEASE_500/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/clang-5.0.0/bin
jq version
jq-1.5
bats version
Bats 0.4.0
shellcheck version
0.4.6
shfmt version
v2.0.0
ccache version
ccache version 3.1.9
Copyright (C) 2002-2007 Andrew Tridgell
Copyright (C) 2009-2011 Joel Rosdahl
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
cmake version
cmake version 3.9.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).
heroku version
heroku-cli/6.14.39-addc925 (linux-x64) node-v9.2.0
imagemagick version
Version: ImageMagick 6.7.7-10 2017-07-31 Q16 http://www.imagemagick.org
md5deep version
4.2
mercurial version
Mercurial Distributed SCM (version 4.2.2)
(see https://mercurial-scm.org for more information)
Copyright (C) 2005-2017 Matt Mackall and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mysql version
mysql  Ver 14.14 Distrib 5.6.33, for debian-linux-gnu (x86_64) using  EditLine wrapper
openssl version
OpenSSL 1.0.1f 6 Jan 2014
packer version
Packer v1.0.2
Your version of Packer is out of date! The latest version
is 1.1.2. You can update by downloading from www.packer.io
postgresql client version
psql (PostgreSQL) 9.6.6
ragel version
Ragel State Machine Compiler version 6.8 Feb 2013
Copyright (c) 2001-2009 by Adrian Thurston
subversion version
svn, version 1.8.8 (r1568071)
   compiled Aug 10 2017, 17:20:39 on x86_64-pc-linux-gnu
Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.3
  - handles 'http' scheme
  - handles 'https' scheme
sudo version
Sudo version 1.8.9p5
Configure options: --prefix=/usr -v --with-all-insults --with-pam --with-fqdn --with-logging=syslog --with-logfac=authpriv --with-env-editor --with-editor=/usr/bin/editor --with-timeout=15 --with-password-timeout=0 --with-passprompt=[sudo] password for %p:  --without-lecture --with-tty-tickets --disable-root-mailer --enable-admin-flag --with-sendmail=/usr/sbin/sendmail --with-timedir=/var/lib/sudo --mandir=/usr/share/man --libexecdir=/usr/lib/sudo --with-sssd --with-sssd-lib=/usr/lib/x86_64-linux-gnu --with-selinux
Sudoers policy plugin version 1.8.9p5
Sudoers file grammar version 43
Sudoers path: /etc/sudoers
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: authpriv
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert
Send mail if the user is not in sudoers
Use a separate timestamp for each user/tty combo
Lecture user the first time they run sudo
Root may run sudo
Allow some information gathering to give useful error messages
Require fully-qualified hostnames in the sudoers file
Visudo will honor the EDITOR environment variable
Set the LOGNAME and USER environment variables
Length at which to wrap log file lines (0 for no wrap): 80
Authentication timestamp timeout: 15.0 minutes
Password prompt timeout: 0.0 minutes
Number of tries to enter a password: 3
Umask to use or 0777 to use user's: 022
Path to mail program: /usr/sbin/sendmail
Flags for mail program: -t
Address to send mail to: root
Subject line for mail messages: *** SECURITY information for %h ***
Incorrect password message: Sorry, try again.
Path to authentication timestamp dir: /var/lib/sudo
Default password prompt: [sudo] password for %p: 
Default user to run commands as: root
Value to override user's $PATH with: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Path to the editor for use by visudo: /usr/bin/editor
When to require a password for 'list' pseudocommand: any
When to require a password for 'verify' pseudocommand: all
File descriptors >= 3 will be closed before executing a command
Environment variables to check for sanity:
	TZ
	TERM
	LINGUAS
	LC_*
	LANGUAGE
	LANG
	COLORTERM
Environment variables to remove:
	RUBYOPT
	RUBYLIB
	PYTHONUSERBASE
	PYTHONINSPECT
	PYTHONPATH
	PYTHONHOME
	TMPPREFIX
	ZDOTDIR
	READNULLCMD
	NULLCMD
	FPATH
	PERL5DB
	PERL5OPT
	PERL5LIB
	PERLLIB
	PERLIO_DEBUG 
	JAVA_TOOL_OPTIONS
	SHELLOPTS
	GLOBIGNORE
	PS4
	BASH_ENV
	ENV
	TERMCAP
	TERMPATH
	TERMINFO_DIRS
	TERMINFO
	_RLD*
	LD_*
	PATH_LOCALE
	NLSPATH
	HOSTALIASES
	RES_OPTIONS
	LOCALDOMAIN
	CDPATH
	IFS
Environment variables to preserve:
	JAVA_HOME
	TRAVIS
	CI
	DEBIAN_FRONTEND
	XAUTHORIZATION
	XAUTHORITY
	PS2
	PS1
	PATH
	LS_COLORS
	KRB5CCNAME
	HOSTNAME
	HOME
	DISPLAY
	COLORS
Locale to use while parsing sudoers: C
Directory in which to store input/output logs: /var/log/sudo-io
File in which to store the input/output log: %{seq}
Add an entry to the utmp/utmpx file when allocating a pty
PAM service name to use
PAM service name to use for login shells
Create a new PAM session for the command to run in
Maximum I/O log sequence number: 0
Local IP address and netmask pairs:
	10.240.0.28/255.255.255.255
	172.17.0.1/255.255.0.0
Sudoers I/O plugin version 1.8.9p5
gzip version
gzip 1.6
Copyright (C) 2007, 2010, 2011 Free Software Foundation, Inc.
Copyright (C) 1993 Jean-loup Gailly.
This is free software.  You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.
Written by Jean-loup Gailly.
zip version
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
Currently maintained by E. Gordon.  Please send bug reports to
the authors using the web page at www.info-zip.org; see README for details.
Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip,
as of above date; see http://www.info-zip.org/ for other sites.
Compiled with gcc 4.8.2 for Unix (Linux ELF) on Oct 21 2013.
Zip special compilation options:
	USE_EF_UT_TIME       (store Universal Time)
	BZIP2_SUPPORT        (bzip2 library version 1.0.6, 6-Sept-2010)
	    bzip2 code and library copyright (c) Julian R Seward
	    (See the bzip2 license for terms of use)
	SYMLINK_SUPPORT      (symbolic links supported)
	LARGE_FILE_SUPPORT   (can read and write large files on file system)
	ZIP64_SUPPORT        (use Zip64 to store large files in archives)
	UNICODE_SUPPORT      (store and read UTF-8 Unicode paths)
	STORE_UNIX_UIDs_GIDs (store UID/GID sizes/values using new extra field)
	UIDGID_NOT_16BIT     (old Unix 16-bit UID/GID extra field not used)
	[encryption, version 2.91 of 05 Jan 2007] (modified for Zip 3)
Encryption notice:
	The encryption code of this program is not copyrighted and is
	put in the public domain.  It was originally written in Europe
	and, to the best of our knowledge, can be freely distributed
	in both source and object forms from any country, including
	the USA under License Exception TSU of the U.S. Export
	Administration Regulations (section 740.13(e)) of 6 June 2002.
Zip environment options:
             ZIP:  [none]
          ZIPOPT:  [none]
vim version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 24 2016 16:43:18)
Included patches: 1-52
Extra patches: 8.0.0056
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by buildd@
Huge version without GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl    -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions      
iptables version
iptables v1.4.21
curl version
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
wget version
GNU Wget 1.15 built on linux-gnu.
rsync version
rsync  version 3.1.0  protocol version 31
gimme version
v1.2.0
nvm version
0.33.6
perlbrew version
/home/travis/perl5/perlbrew/bin/perlbrew  - App::perlbrew/0.80
phpenv version
rbenv 1.1.1-25-g6aa70b6
rvm version
rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
default ruby version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
CouchDB version
couchdb 1.6.1
ElasticSearch version
5.5.0
Installed Firefox version
firefox 56.0.2
MongoDB version
MongoDB 3.4.10
PhantomJS version
2.1.1
Pre-installed PostgreSQL versions
9.2.24
9.3.20
9.4.15
9.5.10
9.6.6
RabbitMQ Version
3.6.14
Redis version
redis-server 4.0.6
riak version
2.2.3
Pre-installed Go versions
1.7.4
ant version
Apache Ant(TM) version 1.9.3 compiled on April 8 2014
mvn version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T07:58:13Z)
Maven home: /usr/local/maven-3.5.2
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-98-generic", arch: "amd64", family: "unix"
gradle version
------------------------------------------------------------
Gradle 4.0.1
------------------------------------------------------------
Build time:   2017-07-07 14:02:41 UTC
Revision:     38e5dc0f772daecca1d2681885d3d85414eb6826
Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Linux 4.4.0-98-generic amd64
lein version
Leiningen 2.8.1 on Java 1.8.0_151 Java HotSpot(TM) 64-Bit Server VM
Pre-installed Node.js versions
v4.8.6
v6.12.0
v6.12.1
v8.9
v8.9.1
phpenv versions
  system
  5.6
* 5.6.32 (set by /home/travis/.phpenv/version)
  7.0
  7.0.25
  7.1
  7.1.11
  hhvm
  hhvm-stable
composer --version
Composer version 1.5.2 2017-09-11 16:59:25
Pre-installed Ruby versions
ruby-2.2.7
ruby-2.3.4
ruby-2.4.1
git.checkout
2.35s$ git clone --depth=50 --branch=blog https://github.com/mowatermelon/learn-es6.git mowatermelon/learn-es6
Cloning into 'mowatermelon/learn-es6'...
$ cd mowatermelon/learn-es6
$ git checkout -qf d34b7081a10af81d9ca8dd2af39831809cc7f3bb
Setting environment variables from repository settings
$ export GH_TOKEN=[secure]
Setting environment variables from .travis.yml
$ export MELON_REF=github.com/mowatermelon/learn-es6.git
nvm.install
3.46s$ nvm install stable
Downloading and installing node v11.9.0...
Downloading https://nodejs.org/dist/v11.9.0/node-v11.9.0-linux-x64.tar.xz...
Computing checksum with sha256sum
Checksums matched!
Now using node v11.9.0 (npm v6.5.0)
$ node --version
v11.9.0
$ npm --version
6.5.0
$ nvm --version
0.34.0
before_script
14.66s$ npm install loppo -g
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated boom@2.10.1: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated cryptiles@2.0.5: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated hoek@2.16.3: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated socks@1.1.9: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
npm WARN deprecated buildmail@4.0.1: This project is unmaintained
/home/travis/.nvm/versions/node/v11.9.0/bin/loppo -> /home/travis/.nvm/versions/node/v11.9.0/lib/node_modules/loppo/bin/cmd.js
+ loppo@0.6.14
added 385 packages from 585 contributors in 14.208s
1.27s$ loppo
✔ INFO [11:29:25] - [BEGIN] build docs
✔ INFO [11:29:25] - [BEGIN] handle config file
✔ INFO [11:29:25] - [END] handle config file
✔ INFO [11:29:25] - [BEGIN] handle chapters file
✔ INFO [11:29:25] - [END] handle chapters file
✔ INFO [11:29:25] - [BEGIN] handle theme files
✔ INFO [11:29:25] - [END] handle theme files
✔ INFO [11:29:25] - [BEGIN] copy assets to output directory
✔ INFO [11:29:25] - [END] copy assets to output directory
✔ INFO [11:29:25] - [BEGIN] publish pages to output directory
✔ INFO [11:29:25] - [BEGIN] create / page
✔ INFO [11:29:25] - [END] create / page
✔ INFO [11:29:25] - [BEGIN] create chapters01/ page
✔ INFO [11:29:25] - [END] create chapters01/ page
✔ INFO [11:29:25] - [BEGIN] create chapters01/Babel.md page
✔ INFO [11:29:25] - [END] create chapters01/Babel.md page
✔ INFO [11:29:25] - [BEGIN] create chapters01/Traceur.md page
✔ INFO [11:29:25] - [END] create chapters01/Traceur.md page
✔ INFO [11:29:25] - [BEGIN] create chapters01/base.md page
✔ INFO [11:29:25] - [END] create chapters01/base.md page
✔ INFO [11:29:25] - [BEGIN] create chapters02/ page
✔ INFO [11:29:25] - [END] create chapters02/ page
✔ INFO [11:29:25] - [BEGIN] create chapters02/base.md page
✔ INFO [11:29:25] - [END] create chapters02/base.md page
✔ INFO [11:29:25] - [BEGIN] create chapters02/const.md page
✔ INFO [11:29:25] - [END] create chapters02/const.md page
✔ INFO [11:29:25] - [BEGIN] create chapters02/let.md page
✔ INFO [11:29:25] - [END] create chapters02/let.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/ page
✔ INFO [11:29:25] - [END] create chapters03/ page
✔ INFO [11:29:25] - [BEGIN] create chapters03/base.md page
✔ INFO [11:29:25] - [END] create chapters03/base.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/complex.md page
✔ INFO [11:29:25] - [END] create chapters03/complex.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/parentheses.md page
✔ INFO [11:29:25] - [END] create chapters03/parentheses.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/use.md page
✔ INFO [11:29:25] - [END] create chapters03/use.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/ page
✔ INFO [11:29:25] - [END] create chapters04/ page
✔ INFO [11:29:25] - [BEGIN] create chapters04/instance-function-extend.md page
✔ INFO [11:29:25] - [END] create chapters04/instance-function-extend.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/prototype-function-extend.md page
✔ INFO [11:29:25] - [END] create chapters04/prototype-function-extend.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/string-Iterator.md page
✔ INFO [11:29:25] - [END] create chapters04/string-Iterator.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/tag-template.md page
✔ INFO [11:29:25] - [END] create chapters04/tag-template.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/template-string.md page
✔ INFO [11:29:25] - [END] create chapters04/template-string.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/unicode.md page
✔ INFO [11:29:25] - [END] create chapters04/unicode.md page
✔ INFO [11:29:25] - [END] publish pages to output directory
✔ INFO [11:29:25] - [END] build docs
The command "loppo" exited with 0.
after_script.1
0.00s$ ls
chapters.yml
docs
loppo.yml
src
after_script.2
0.00s$ cd ./docs
after_script.3
0.01s$ git init
Initialized empty Git repository in /home/travis/build/mowatermelon/learn-es6/docs/.git/
after_script.4
0.01s$ git config user.name "mowatermelon"
after_script.5
0.01s$ git config user.email "neefoxmo@gmail.com"
after_script.6
0.02s$ git add .
after_script.7
0.01s$ git commit -m "Update docs"
[master (root-commit) df72748] Update docs
 34 files changed, 3213 insertions(+)
 create mode 100644 assets/css/app.css
 create mode 100644 assets/css/bulma.min.css
 create mode 100644 assets/css/collapse.svg
 create mode 100644 assets/css/expand.svg
 create mode 100644 assets/css/next-disabled.svg
 create mode 100644 assets/css/next.svg
 create mode 100644 assets/css/previous-disabled.svg
 create mode 100644 assets/css/previous.svg
 create mode 100644 assets/css/size.svg
 create mode 100644 assets/css/toc.svg
 create mode 100644 assets/css/up.svg
 create mode 100644 assets/js/app.js
 create mode 100644 chapters01/Babel.html
 create mode 100644 chapters01/Traceur.html
 create mode 100644 chapters01/base.html
 create mode 100644 chapters01/index.html
 create mode 100644 chapters02/base.html
 create mode 100644 chapters02/const.html
 create mode 100644 chapters02/index.html
 create mode 100644 chapters02/let.html
 create mode 100644 chapters03/base.html
 create mode 100644 chapters03/complex.html
 create mode 100644 chapters03/index.html
 create mode 100644 chapters03/parentheses.html
 create mode 100644 chapters03/use.html
 create mode 100644 chapters04/index.html
 create mode 100644 chapters04/instance-function-extend.html
 create mode 100644 chapters04/prototype-function-extend.html
 create mode 100644 chapters04/string-Iterator.html
 create mode 100644 chapters04/tag-template.html
 create mode 100644 chapters04/template-string.html
 create mode 100644 chapters04/unicode.html
 create mode 100644 favicon.ico
 create mode 100644 index.html
after_script.8
2.71s$ git push --force --quiet "https://${GH_TOKEN}@${MELON_REF}" master:master
Done. Your build exited with 0.

重点语句

before_script
14.66s$ npm install loppo -g
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated boom@2.10.1: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated cryptiles@2.0.5: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated hoek@2.16.3: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated socks@1.1.9: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
npm WARN deprecated buildmail@4.0.1: This project is unmaintained
/home/travis/.nvm/versions/node/v11.9.0/bin/loppo -> /home/travis/.nvm/versions/node/v11.9.0/lib/node_modules/loppo/bin/cmd.js
+ loppo@0.6.14
added 385 packages from 585 contributors in 14.208s
1.27s$ loppo
✔ INFO [11:29:25] - [BEGIN] build docs
✔ INFO [11:29:25] - [BEGIN] handle config file
✔ INFO [11:29:25] - [END] handle config file
✔ INFO [11:29:25] - [BEGIN] handle chapters file
✔ INFO [11:29:25] - [END] handle chapters file
✔ INFO [11:29:25] - [BEGIN] handle theme files
✔ INFO [11:29:25] - [END] handle theme files
✔ INFO [11:29:25] - [BEGIN] copy assets to output directory
✔ INFO [11:29:25] - [END] copy assets to output directory
✔ INFO [11:29:25] - [BEGIN] publish pages to output directory
✔ INFO [11:29:25] - [BEGIN] create / page
✔ INFO [11:29:25] - [END] create / page
✔ INFO [11:29:25] - [BEGIN] create chapters01/ page
✔ INFO [11:29:25] - [END] create chapters01/ page
✔ INFO [11:29:25] - [BEGIN] create chapters01/Babel.md page
✔ INFO [11:29:25] - [END] create chapters01/Babel.md page
✔ INFO [11:29:25] - [BEGIN] create chapters01/Traceur.md page
✔ INFO [11:29:25] - [END] create chapters01/Traceur.md page
✔ INFO [11:29:25] - [BEGIN] create chapters01/base.md page
✔ INFO [11:29:25] - [END] create chapters01/base.md page
✔ INFO [11:29:25] - [BEGIN] create chapters02/ page
✔ INFO [11:29:25] - [END] create chapters02/ page
✔ INFO [11:29:25] - [BEGIN] create chapters02/base.md page
✔ INFO [11:29:25] - [END] create chapters02/base.md page
✔ INFO [11:29:25] - [BEGIN] create chapters02/const.md page
✔ INFO [11:29:25] - [END] create chapters02/const.md page
✔ INFO [11:29:25] - [BEGIN] create chapters02/let.md page
✔ INFO [11:29:25] - [END] create chapters02/let.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/ page
✔ INFO [11:29:25] - [END] create chapters03/ page
✔ INFO [11:29:25] - [BEGIN] create chapters03/base.md page
✔ INFO [11:29:25] - [END] create chapters03/base.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/complex.md page
✔ INFO [11:29:25] - [END] create chapters03/complex.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/parentheses.md page
✔ INFO [11:29:25] - [END] create chapters03/parentheses.md page
✔ INFO [11:29:25] - [BEGIN] create chapters03/use.md page
✔ INFO [11:29:25] - [END] create chapters03/use.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/ page
✔ INFO [11:29:25] - [END] create chapters04/ page
✔ INFO [11:29:25] - [BEGIN] create chapters04/instance-function-extend.md page
✔ INFO [11:29:25] - [END] create chapters04/instance-function-extend.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/prototype-function-extend.md page
✔ INFO [11:29:25] - [END] create chapters04/prototype-function-extend.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/string-Iterator.md page
✔ INFO [11:29:25] - [END] create chapters04/string-Iterator.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/tag-template.md page
✔ INFO [11:29:25] - [END] create chapters04/tag-template.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/template-string.md page
✔ INFO [11:29:25] - [END] create chapters04/template-string.md page
✔ INFO [11:29:25] - [BEGIN] create chapters04/unicode.md page
✔ INFO [11:29:25] - [END] create chapters04/unicode.md page
✔ INFO [11:29:25] - [END] publish pages to output directory
✔ INFO [11:29:25] - [END] build docs
The command "loppo" exited with 0.
after_script.1
0.00s$ ls
chapters.yml
docs
loppo.yml
src
after_script.2
0.00s$ cd ./docs
after_script.3
0.01s$ git init
Initialized empty Git repository in /home/travis/build/mowatermelon/learn-es6/docs/.git/
after_script.4
0.01s$ git config user.name "mowatermelon"
after_script.5
0.01s$ git config user.email "neefoxmo@gmail.com"
after_script.6
0.02s$ git add .
after_script.7
0.01s$ git commit -m "Update docs"
[master (root-commit) df72748] Update docs
 34 files changed, 3213 insertions(+)
 create mode 100644 assets/css/app.css
 create mode 100644 assets/css/bulma.min.css
 create mode 100644 assets/css/collapse.svg
 create mode 100644 assets/css/expand.svg
 create mode 100644 assets/css/next-disabled.svg
 create mode 100644 assets/css/next.svg
 create mode 100644 assets/css/previous-disabled.svg
 create mode 100644 assets/css/previous.svg
 create mode 100644 assets/css/size.svg
 create mode 100644 assets/css/toc.svg
 create mode 100644 assets/css/up.svg
 create mode 100644 assets/js/app.js
 create mode 100644 chapters01/Babel.html
 create mode 100644 chapters01/Traceur.html
 create mode 100644 chapters01/base.html
 create mode 100644 chapters01/index.html
 create mode 100644 chapters02/base.html
 create mode 100644 chapters02/const.html
 create mode 100644 chapters02/index.html
 create mode 100644 chapters02/let.html
 create mode 100644 chapters03/base.html
 create mode 100644 chapters03/complex.html
 create mode 100644 chapters03/index.html
 create mode 100644 chapters03/parentheses.html
 create mode 100644 chapters03/use.html
 create mode 100644 chapters04/index.html
 create mode 100644 chapters04/instance-function-extend.html
 create mode 100644 chapters04/prototype-function-extend.html
 create mode 100644 chapters04/string-Iterator.html
 create mode 100644 chapters04/tag-template.html
 create mode 100644 chapters04/template-string.html
 create mode 100644 chapters04/unicode.html
 create mode 100644 favicon.ico
 create mode 100644 index.html
after_script.8
2.71s$ git push --force --quiet "https://${GH_TOKEN}@${MELON_REF}" master:master
Done. Your build exited with 0.

查看github仓库

访问https://github.com/mowatermelon/learn-es6,查看仓库效果,发现文件发布成功。

image


查看github page

访问https://mowatermelon.github.io/learn-es6/,查看最后项目构建效果。

image

image