您能否建议使用代码片段标记的自托管系统?

时间:2016-06-22 13:03:31

标签: tags code-snippets self-hosting

例如: Sys-admin在Ubuntu上安装了Oracle JDK - 大约有5行bash命令:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
sudo apt-get install -y oracle-java8-installer
sudo apt-get install oracle-java8-set-default

我们需要将这些命令保存为bash代码段并将其标记为“Oracle JDK”。或者例如PostgreSQL安装或系统团队反复做的任何其他事情,需要快速找到它以便快速修改

请?任何建议?

1 个答案:

答案 0 :(得分:2)

对于执行各种代码段的团队来说,CoderVault似乎是一个很好的解决方案:https://github.com/codervault/codervault

如果你想直接在Bash中使用它,你需要制作一些自己形式的片段文件,获取并同步它。例如,使用以下内容创建文件夹.functions和文件~/.functions/shared

# Setup, do not change

alias sniplist="awk '/function/ {print $2;}' ~/.functions/shared"

function syncSnippets {
    P=$(pwd) && \
    cd ~/.functions && \
    git pull --rebase <HOST>/path/to/repo && \
    cd $P
    source ~/.functions/shared
}

# Add snippets below

function OracleJDK {
    sudo add-apt-repository ppa:webupd8team/java && \
    sudo apt-get update && \
    echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections && \
    sudo apt-get install -y oracle-java8-installer && \
    sudo apt-get install oracle-java8-set-default
}

根据需要添加更多功能。 &&用于按顺序运行所有命令,并在其中一个命令失败时中止,\以便能够在另一行上继续执行相同的命令。这样,您就可以运行单个链式命令。

创建一个Git存储库(git init),添加一个服务器(git remove add origin <HOST>/path/to/repo),提交并推送。请记住:您不需要Git服务器来托管存储库。你可以在服务器上初始化它,并通过SSH访问它,这就是你所需要的。

所有其他人需要做的就是克隆这个repo(git clone <HOST>/path/to/repo ~/.functions),在shell配置文件(source ~/.functions/shared)中获取它并启动另一个shell。完成。

如果你忘记了哪些片段可用,只需运行sniplist并获得一个方便的功能列表。