美文网首页springboot
daocloud持续集成html5应用

daocloud持续集成html5应用

作者: 小狐濡尾 | 来源:发表于2016-01-05 20:33 被阅读114次

daocloud介绍

daocloud提供基于docker进行持续集成的服务,使用它可以很方便的完成项目的自动化构建以及持续发布等功能。

什么是「简单的html5应用」

只有前端页面,并且使用nginx提供服务。

部署大致解决方案

本文假设一个使用场景:拥有自己的主机,并且绑定到了daocloud上,然后想通过daocloud进行持续化地部署到自己的主机上。如果想要部署一个纯前端项目,需要把nginx集成进去,然后使用nginx来提供服务。

构建应用前的准备

在构建应用之前,你需要改装自己的程序,添加Dockerfile文件,配置好所需要的nginx配置文件。比如我有一个应用叫myapp,其目录结构为:

myapp/  #应用根目录
├── myapp/  # 具体的应用目录
│   ├── images/ # 图片
│   ├── index.html  # 默认的检索html
│   ├── scripts/  #  js文件夹
│   └── styles/    # 存放css的文件夹
├── Dockerfile   # Dockerfile
├── myapp.conf   # 本应用的nginx配置文件
└── log/  # log文件

Dockerfile的内容:

# 选择nginx服务
FROM nginx:1.9.5

# copy代码
COPY . /src

# 添加nginx配置文件
COPY myapp.conf /etc/nginx/conf.d/

# 去掉默认的nginx配置文件
RUN rm /etc/nginx/conf.d/default.conf

myapp.conf 内容:

server {
    listen 80;
    server_name localhost;
    access_log /src/log/myapp.access.log;
    error_log /src/log/myapp.error.log;

    # 这里你还可以选择根据需要配一些gzip等选项

    location / {
    root /src/myapp/;
    }
}

然后将应用提交到github上,比如具体为:xiaohuruwei/myapp.git

以上已经包含全部必须的材料了,下面进入daocloud环节。

使用daocloud进行持续构建镜像以及发布

因为前面的步骤已经构建好了一个支持docker的代码版本,而且不需要外联像mysql这样的外部服务,因此可以直接将其当做一个但应用的镜像来构建。

在这方面,daocloud已经有了完善的文档,可以直接参考其中的创建新项目章节,以及持续集成章节。

发布完成之后需要做的工作

发布完成之后,可以在daocloud上看到所创建的容器的具体信息。包括映射到宿主机上的端口号等等,为方便后面的叙述,这里假设映射出的端口号为8888。因为是发布到自己的主机上,所以还需要自己配置域名以及nginx反向代理来对外提供访问服务。假设有一个域名已经绑定在了自己的主机上,这里假设为xiaohuruwei.com.

登陆自己的主机,并配置nginx文件,如果是使用apt-get一类的包管理工具安装的,那么应该是在/etc/nginx/conf.d/目录下添加 myapp.conf:

server {
    listen 80;
    server_name xiaohuruwei.com;
    access_log /var/log/nginx/myapp.access.log;
    error_log /var/log/nginx/myapp.error.log;
    client_max_body_size 200m;

    # 可以根据需要设置其他配置项

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:8888;
    }
}

然后访问xiaohuruwei.com就可以看到内容了

另外,需要在使用daocloud的时候,将自动构建和持续发布都打开,这样下次使用时,只需要往github推代码时,触发了你设定的更新规则,就会持续构建镜像并发布了。

相关文章

网友评论

    本文标题:daocloud持续集成html5应用

    本文链接:https://www.haomeiwen.com/subject/ycezhttx.html