美文网首页Sail中文文档
Sail中文文档:一个开发环境快速部署工具-04-项目

Sail中文文档:一个开发环境快速部署工具-04-项目

作者: 枫山别院 | 来源:发表于2019-08-22 15:49 被阅读0次

欢迎访问我的博客,同步更新: 枫山别院

04-项目

project

Sail的核心概念之一是project。每个Sail项目就像是独自占有一个机器,这个机器上只有该项目的依赖和配置。每个Sail项目的开发环境都事先被项目所有者配置好了,因此,你可以更快速的开始贡献代码。

就像是项目的核心开发给您配置了一个全新的Linux机器一样,他们给你安装好了编程语言和依赖,项目所需的配置也帮您设置好。VSCode也帮您安装了,并且需要的VSCode插件也有。源代码也clone下来了。so,你可以立刻愉快的贡献代码了。

一个Sail项目就是一个已经配置好的干净的开发环境。除此之外还有一个好处,这个开发环境可以随时丢弃不用,你完全可以重新创建一个一样的环境。

依赖和配置

您需要在源码仓库的根目录下创建一个.sail/Dockerfile文件,来明确项目需要哪些依赖。Sail会根据您的配置文件创建一个容器,然后在容器中运行您的开发环境。

如果一个项目没有.sail/Dockerfile文件,Sail会尝试推断项目使用的语言,如果能推断出项目的语言,就会从codercom docker hub中拉取该语言的Docker基础镜像。如果无法推断出项目语言,或者镜像库中没有该语言的基础镜像,那么
就使用codercom/ubuntu-dev镜像作为项目的环境来运行该项目。

持久化

由于容器中的文件系统是临时的,Sail会把clone下来的项目仓库放在本地主机中Sail的$project_root下,并把它挂载到容器中。
因为项目是挂载到容器中的,所以删除容器不会删除项目文件,同时您可以随意操作容器外部的项目文件。

本地主机

$project_root是一个环境变量,配置在Sail的全局配置文件中,配置文件默认放在~/Projects。项目通常放在$project_root下,目录结构如下:

$project_root/<org>/<repo>

例如,你要使用一个新的Sail环境,

sail run cdr/sail

它将被clone到$project_root/cdr/sail

容器内

默认的,项目会被挂载到容器的~/<repo>下。为了支持一些特殊的语言,比如Go,挂载目录是可以通过项目下配置文件.sail/Dockerfileproject_root标签配置的。
例如:

LABEL project_root "~/go/src/"

这将会把本地主机的$project_root/<org>/<repo>目录挂载到容器的~/go/src/<repo>目录下。

配置

项目的配置是通过Dockerfile的命令来完成的。

例如,如果您的项目将autotools作为依赖项,你可以通过.sail/Dockerfile配置来安装到环境中,如下:

FROM codercom/ubuntu-dev:latest
RUN apt-get update && apt-get install -y \
    autoconf \
    automake \
    libtool

为了明确像挂载目录等等配置,Sail拓展了Dockerfile语法,我们将在《标签》中详细介绍这些内容。

作为一个开发者,你可以想在项目中引入自己的配置和工具。你可以通过hat Dockerfile轻松的拓展项目的开发环境

支持的版本管理系统

当前只支持git

相关文章

网友评论

    本文标题:Sail中文文档:一个开发环境快速部署工具-04-项目

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