软件开发项目的分层源布局
layers的Python项目详细描述
层对于使用AUF将多个层项目合并为一个层的软件开发人员来说,层是一个小实用程序。注意:
项目处于alpha-dev阶段。我们非常欢迎您的贡献、测试和反馈。
为什么?
===
==
层允许将多个文件夹合并为一个文件夹,从而对项目应用干燥原理。每个软件
项目都有一些未经修改从一个项目复制到另一个项目的文件。
示例:
-开发堆栈的配置文件
-.gitignore文件
-目录结构
-…更多样品?
通常这些文件只复制一次,之后更新所有文件是一项艰巨的工作。
layers实用程序使用aufs来组成la是自动的。
installation
=======
所有层:
sudo pip install layers
因为无法针对当前目录执行mount命令(显示"目录忙"错误),请为层添加别名以从父目录执行该命令,然后返回到项目目录。在shell中执行:
echo"layers(){lpd=\$pwd;cd..;layers util\$lpd\$@;cd\$lpd;}">;~/.bashrc
source~/.bashrc
这将自动更新您的.bashrc。
quick start
==结构:
mkdir project1
mkdir some layer
mkdir another
project1-是我们的项目目录。另一个也是层。
我们将把一些数据放入"一些层"和另一个:
echo"empty yet">;一些层/readme.txt
现在在p中创建layers.yml文件roject1目录,像这样:
layers:
每个python项目都应该有这个:
路径:../some layer
just my ego:
路径:../another
now,让我们装载这个::
cd project1
layers mount
如下所示:
xt,它不会影响"某些层"::
$echo"这是项目自述">;project1/readme.txt
$cat project1/readme.txt
空的但
,但如果修改层,则会反映更改::
$echo"。更多要忽略">;>;某些层/.gitignore
$cat project1/.gitignore
*.pyc
。更多要忽略
自动创建装入点
==layers.yml有一个有趣的选项,允许在装入之前创建装入点。
例如,它可以从git签出:
layers:
>mfcloud python:
path:../python django
create:git clone git@bitbucket.org:ribozz/python django.git
语法如下::
mount
,神奇的是,您的所有层都被签出并挂载。
mount to different directory
=to"允许挂载到子目录::
layers:
cratis:
路径:../cratis
cr创建:git clone git@bitbucket.org:itpeople/cratis.git
到:lib/cratis
路径:../cratis功能
创建:git clone git@bitbucket.org:itpeople/cratis功能.git
到:lib/cratis功能
mfcloud python:
路径:../python django
create:git clone git@bitbucket.org:ribozz/python django.git
command reference
======
***********
语法:
layers mount
layers mount
.yml
**************************
>语法:
>layelayelayeumount
ir到每个指定的目录在layer s.yml中编辑,并执行命令。
示例::
$layers ls-la
layer/home/alex/dev/example/project1
总计24
drwxrwxr-x 8 alex 4096 9月30日14:43。
drwxrwxr-x 5 alex 4096 9月30日13:59..
-rw-r--1 alex 23 sept 30 14:04 author.txt
-rw-rw-r--1 alex alex 22 sept 30 14:46.gitignore
-rw-rw-r--1 alex alex 113 sept 30 14:05 layers.yml
-rw-rw-r--1 alex alex 23 sept 30 14:43 readme.txt
layer/home/alex/dev/example/some layer
drwxr total 24
wxr-x 4 alex alex 4096 9月30日14:06.
drwxrwxr-x 5 alex alex 4096 9月30日13:59..
-rw-rw-r--1 alex alex 22 9月30日14:46.gitignore
-rw-rw-r--1 alex alex 10 9月30日14:42 readme.txt
-r--r--r--1根根0 9月30日14:06.wh..wh.aufs
drwx---2根4096 9月30日14:06.wh..wh.orph
drwx--2根4096 9月30日14:06.wh..wh.plnk
layer/home/alex/dev/example/another
total 20
drwxrwxr-x 4 alex 4096 9月30日14:06.
drwxrwxr-x 5 alex 4096 9月30日13:59..
-rw-rw-r--1 alex alex 23 sept 30 14:04 author.txt
-r--r--1根root 0 sept 30 14:06.wh..wh.aufs
drwx--2根root 4096 sept 30 14:06.wh..wh.orph
drwx--2根root 4096 sept 30 14:06.wh..wh.plnk
层git status
许可证
===
apache许可证。有关详细信息,请参见许可证
==
===
=--
<0.1.5
-改进了对子安装(至:)的处理。(alex.r.)
——————————————————————————————————————————————————————————————————————————————————————(亚历克斯。r.)
-改进了sh脚本,使其更加用户友好。向自述文件添加了如何将bashrc(alex.r.)
——
<0.1.3
向layers.yml(alex r.)
———————————————————————————————————————————-
项目处于alpha-dev阶段。我们非常欢迎您的贡献、测试和反馈。
为什么?
===
==
层允许将多个文件夹合并为一个文件夹,从而对项目应用干燥原理。每个软件
项目都有一些未经修改从一个项目复制到另一个项目的文件。
示例:
-开发堆栈的配置文件
-.gitignore文件
-目录结构
-…更多样品?
通常这些文件只复制一次,之后更新所有文件是一项艰巨的工作。
installation
=======
所有层:
sudo pip install layers
因为无法针对当前目录执行mount命令(显示"目录忙"错误),请为层添加别名以从父目录执行该命令,然后返回到项目目录。在shell中执行:
echo"layers(){lpd=\$pwd;cd..;layers util\$lpd\$@;cd\$lpd;}">;~/.bashrc
source~/.bashrc
这将自动更新您的.bashrc。
quick start
==结构:
mkdir project1
mkdir some layer
mkdir another
project1-是我们的项目目录。另一个也是层。
我们将把一些数据放入"一些层"和另一个:
现在在p中创建layers.yml文件roject1目录,像这样:
layers:
每个python项目都应该有这个:
路径:../some layer
just my ego:
路径:../another
now,让我们装载这个::
cd project1
layers mount
如下所示:
xt,它不会影响"某些层"::
$echo"这是项目自述">;project1/readme.txt
$cat project1/readme.txt
空的但
,但如果修改层,则会反映更改::
$echo"。更多要忽略">;>;某些层/.gitignore
$cat project1/.gitignore
*.pyc
。更多要忽略
自动创建装入点
==layers.yml有一个有趣的选项,允许在装入之前创建装入点。
例如,它可以从git签出:
layers:
>mfcloud python:
path:../python django
create:git clone git@bitbucket.org:ribozz/python django.git
语法如下::
mount
,神奇的是,您的所有层都被签出并挂载。
mount to different directory
=to"允许挂载到子目录::
layers:
cratis:
路径:../cratis
cr创建:git clone git@bitbucket.org:itpeople/cratis.git
到:lib/cratis
创建:git clone git@bitbucket.org:itpeople/cratis功能.git
到:lib/cratis功能
mfcloud python:
路径:../python django
create:git clone git@bitbucket.org:ribozz/python django.git
command reference
======
语法:
layers mount
layers mount
.yml
**************************
>语法:
>layelayelayeumount
ir到每个指定的目录在layer s.yml中编辑,并执行命令。
示例::
$layers ls-la
layer/home/alex/dev/example/project1
总计24
drwxrwxr-x 8 alex 4096 9月30日14:43。
drwxrwxr-x 5 alex 4096 9月30日13:59..
-rw-r--1 alex 23 sept 30 14:04 author.txt
-rw-rw-r--1 alex alex 22 sept 30 14:46.gitignore
-rw-rw-r--1 alex alex 113 sept 30 14:05 layers.yml
-rw-rw-r--1 alex alex 23 sept 30 14:43 readme.txt
layer/home/alex/dev/example/some layer
drwxr total 24
wxr-x 4 alex alex 4096 9月30日14:06.
drwxrwxr-x 5 alex alex 4096 9月30日13:59..
-rw-rw-r--1 alex alex 22 9月30日14:46.gitignore
-rw-rw-r--1 alex alex 10 9月30日14:42 readme.txt
-r--r--r--1根根0 9月30日14:06.wh..wh.aufs
drwx---2根4096 9月30日14:06.wh..wh.orph
drwx--2根4096 9月30日14:06.wh..wh.plnk
layer/home/alex/dev/example/another
total 20
drwxrwxr-x 4 alex 4096 9月30日14:06.
drwxrwxr-x 5 alex 4096 9月30日13:59..
-rw-rw-r--1 alex alex 23 sept 30 14:04 author.txt
-r--r--1根root 0 sept 30 14:06.wh..wh.aufs
drwx--2根root 4096 sept 30 14:06.wh..wh.orph
drwx--2根root 4096 sept 30 14:06.wh..wh.plnk
层git status
许可证
===
apache许可证。有关详细信息,请参见许可证
===
=--
<0.1.5
-改进了对子安装(至:)的处理。(alex.r.)
——————————————————————————————————————————————————————————————————————————————————————(亚历克斯。r.)
-改进了sh脚本,使其更加用户友好。向自述文件添加了如何将bashrc(alex.r.)
——
<0.1.3
向layers.yml(alex r.)
———————————————————————————————————————————-