你能推荐带有代码片段标记的自托管系统吗?

Can you please suggest self-hosted system with code snippets tagging?

例如: 系统管理员在 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 安装或系统团队重复做的任何其他事情,需要快速找到它以便快速修改

请问?有什么建议吗?

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

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

# Setup, do not change

alias sniplist="awk '/function/ {print ;}' ~/.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 remote add origin <HOST>/path/to/repo),提交并推送。请记住:您不需要 Git 服务器来托管存储库。您可以在服务器上初始化它并通过 SSH 访问它,这就是您所需要的。

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

如果您忘记了哪些代码片段可用,只需 运行 sniplist 并获得一个方便的函数候选列表。