惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
腾讯CDC
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
量子位
博客园 - 聂微东
Jina AI
Jina AI
小众软件
小众软件
The Cloudflare Blog
有赞技术团队
有赞技术团队
V
V2EX
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
B
Blog
MongoDB | Blog
MongoDB | Blog
L
LangChain Blog
宝玉的分享
宝玉的分享
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
N
Netflix TechBlog - Medium
I
InfoQ
J
Java Code Geeks
S
SegmentFault 最新的问题
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
B
Blog RSS Feed
S
Schneier on Security
Webroot Blog
Webroot Blog
P
Proofpoint News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
Project Zero
Project Zero
Scott Helme
Scott Helme
C
CERT Recently Published Vulnerability Notes
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security

克洛洛日记

一年回本计划 | 克洛洛日记 股票期权的Theta | 克洛洛日记 股票期权的Gamma | 克洛洛日记 股票期权的Delta | 克洛洛日记 KDJ指标 | 克洛洛日记 布林线 | 克洛洛日记 MACD指标 | 克洛洛日记 RSI指标 | 克洛洛日记 时间协议 | 克洛洛日记 聊聊Spring的stereotype注解 | 克洛洛日记 免费申请 JetBrains 全产品 License | 克洛洛日记 Aloha 一个Hexo主题 | 克洛洛日记 泰国之旅 [三] | 克洛洛日记 泰国之旅 [二] | 克洛洛日记 泰国之旅 [一] | 克洛洛日记 Nginx使用SSL证书配置https | 克洛洛日记 i18next | 克洛洛日记 错误排查:非ROOT用户使用密钥进行ssh登录提示输入密码 | 克洛洛日记 使用EditorConfig | 克洛洛日记 JavaScript执行window.print()打印内容为空白 | 克洛洛日记 使用Github、Travis-CI和Coding.net自动部署博客[二] | 克洛洛日记 寓食记 | 克洛洛日记 使用Github、Travis-CI和Coding.net自动部署博客[一] | 克洛洛日记 书单 | 克洛洛日记 WebJars使用示例 | 克洛洛日记 WebJars介绍 | 克洛洛日记 Maven打jar包内容出错 | 克洛洛日记 数据分布式模型 | 克洛洛日记 Wicket的HelloWorld | 克洛洛日记 Java运行时内存结构 | 克洛洛日记 前端优化法则 | 克洛洛日记
使用Github、Travis-CI和Coding.net自动部署博客[三] | 克洛洛日记
海拉鲁球果 <hyrul · 2017-06-22 · via 克洛洛日记

· github / travis / coding.net

迟迟到来的第三篇,也就是最后一篇。

deploy:
  provider: script
  script: sh .travis/deploy.sh
  skip_cleanup: true
  on:
    branch: master

这是 Travis CI 的部署步骤的配置,“部署” 是整个工作流的最后一步,这里只注意 branch: master,道理和上一个说明一样,其他照抄;

编写部署脚本

Travis CI 的工作流最后一步是部署的功能,我们利用它本身的配置需求进行配置,并且编写相关脚本,这样就可以达到部署博客的需求了。

在博客根目录下添加 .travis 文件夹,文件目录结构为:

blogroot // 博客根目录
└── .travis
    ├── deploy.sh
    ├── private_key.enc
    └── ssh_config
  • deploy.sh 是执行脚本
#!/bin/bash
# Decrypt the private key
openssl aes-256-cbc -K $encrypted_adc0b7f2dba9_key -iv $encrypted_adc0b7f2dba9_iv -in .travis/private_key.enc -out ~/.ssh/id_rsa -d
# Set the permission of the key
chmod 600 ~/.ssh/id_rsa

# Start SSH agent
eval $(ssh-agent)
# Add the private key to the system
ssh-add ~/.ssh/id_rsa
# Copy SSH config
cp .travis/ssh_config ~/.ssh/config
# Set Git config
git config --global user.name "henryhuang"
git config --global user.email h1886@outlook.com

# Deploy to GitHub
hexo deploy

这个脚本的功能就是执行 hexo deploy,有人说那直接执行不就完了吗?

非也!我们要部署代码,就是要执行 git push 的操作,而这一步是需要 ssh key 的,否则你是没有权限给一个 git repository push 代码的,而这个脚本除了最后一步,其他所有的代码都是在构建这个带 ssh key 的上下文环境。

什么都不用管,照抄就行,只用管以下两个配置。

# Decrypt the private key
openssl aes-256-cbc -K $encrypted_adc0b7f2dba9_key -iv $encrypted_adc0b7f2dba9_iv -in .travis/private_key.enc -out 

这行代码的作用就是获取你的key,毕竟私钥是不能放到代码里了,要是被别人看到了怎么办?所以Travis让你在本地用Travis知道的key对你的私钥进行加密,得到这个 private_key.enc,而这个key是由你自己配置到Travis上的,而这个key的名字是什么呢?就是上面的 $encrypted_adc0b7f2dba9_key 和 $encrypted_adc0b7f2dba9_iv,具体怎么配置,可以查看官网的说明 https://docs.travis-ci.com/user/encrypting-files/#Automated-Encryption.

最后编写完成脚本后,上传代码到GitHub就可以了。