标签

Docker

猿来如此 2021-07-14

使用github action来自动构建你的项目

github action是一套自动构建的工具,类似于Travis CI,但是由于是官方支持,所以可玩性非常高,也支持很多定制,下面就基于本博客项目的自动构建docker镜像来给大家介绍下。

基本介绍

概念介绍

github action有一些基本的概念,大家看看下面的介绍就可以理解了:
- workflow (工作流程):持续集成一次运行的过程,就是一个 workflow。
- job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。
- step(步骤):每个 job 由多个 step 构成,一步步完成。
- action (动作):每个 step 可以依次执行一个或多个命令(action)。

示例介绍

workflow是使用yml格式,存储在项目的.github/workflows目录中,一个文件即一个工作流程,其中需要描述基础的job,step,action部分。

参考我的自动构建docker镜像来给大家逐个介绍下:

name: docker
on:
  push:
    paths-ignore:
      - '**/*.md'
      - '**/*.yml'
    branches:
      - 'master'
jobs:
  docker:
    runs-on: ubu...
33809 7
猿来如此 2018-04-14

申请Let's Encrypt通配符证书

Let's Encrypt终于支持通配符证书了,也就是说你只需要为你的网站申请*.example.com这样一个证书,所有的子域名都可以支持,下面介绍下申请方法:

首先需要获取acme.sh

curl https://get.acme.sh | sh

acme.sh支持自动配置DNS,这样需要在域名控制后台获取AppKey和AppSecret.常见的阿里,Dnspod等都支持,这里有更详细的介绍:传送门 下面以Dnspod为例,首先获取AppKey和AppSecret 传送门.然后执行如下命令:

# 替换成从Dnspod后台获取的密钥
export DP_Id="DP_Id"
export DP_Key="DP_Key"
# 换成自己的域名
acme.sh --issue --dns dns_dp -d lylinux.net -d *.lylinux.net

这里是通过休眠120秒等待DNS生效的方式,所以至少需要等待两分钟,如果看到了验证成功的输出,则说明已经申请成功了。这种方式成功之后,会记录下App_Key跟App_Secret,并且生成一个定时任务,每天凌晨0:00自动检测过期域名并且自动续期。 下面再介绍下使用Docker来申请的方式:

docker run --rm  -it  -v "$(pwd)/ssl/":/acme.sh  -e DP_Id...
随笔杂谈 2018-04-14

网站搬家小记

前段时间阿里云做活动,300多就可以买到3年的服务器,果断注册一个新用户入坑,选的地区是在上海,平均延迟就几十毫秒的样子,比以前在linode的服务器爽的多了。远程登录也没有很强的延迟感

最近开始研究了下Docker,可以很方便的集成各种开发环境,于是用Docker重新部署了下服务器,现在运行所依赖的Mysql,Memcache,Python环境等等都使用Docker跑了起来,而且可以本地写好配置文件,服务器重新build,本地和服务器可以无缝切换,这种感觉真的太爽了。 Docker的主要配置在: https://github.com/liangliangyy/docker_config
大家如果用到的话可以参考下。 嗯,就酱。

6318 5
发现更多