你能推荐带有代码片段标记的自托管系统吗?
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
并获得一个方便的函数候选列表。
例如: 系统管理员在 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
并获得一个方便的函数候选列表。