我在源码控制中维护点文件的技巧

对我来说,当我决定要在 容器 中进行开发时,这个问题就变得很严重了。容器是非持久的。开发工具很容易解决:一个带有工具的容器镜像就可以工作。源码很容易解决:源码控制维护它,开发是在分支上。但是,如果每次我创建一个容器,我都需要仔细地配置它,这就太痛苦了。

创新互联建站服务项目包括临洮网站建设、临洮网站制作、临洮网页制作以及临洮网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,临洮网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到临洮省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

主目录的版本控制

将配置文件保存在版本控制中一直是一个有吸引力的选择。但是天真地这么做是令人担忧的。不可能直接对 ~ 进行版本控制。

首先,太多的程序认为把秘密放在那里是安全的。此外,它也是 ~/Downloads 和 ~/Pictures 等文件夹的位置,这些文件夹可能不应该被版本化。

小心翼翼地在主目录下保留一个 .gitignore 文件来管理 include 和 exclude 列表是有风险的。在某些时候,其中一个路径会出错,花费了几个小时的配置会丢失,大文件会出现在 Git 历史记录中,或者最糟糕的是,秘密和密码会被泄露。当这一策略失败时,它就成了灾难性的失败。

手动维护大量的符号链接也是行不通的。版本控制的全部原因是为了避免手动维护配置。

写一个安装脚本

这暗示了在源码控制中维护点文件的第一条线索:写一个安装脚本。

就像所有好的安装脚本一样,让它 幂等:运行两次不会两次增加配置。

像所有好的安装脚本一样,让它 只做最少的事情:使用其他的技巧来指向你的源码控制中的配置文件。

~/.config 目录

现代 Linux 程序在直接在主目录中寻找配置之前,会先在 ~/.config 中寻找。最重要的例子是 git,它在 ~/.config/git 中寻找。

这意味着安装脚本可以将 ~/.config 符号链接到主目录中源码控制的管理目录中的一个目录:

#!/bin/bash
set -e
DOTFILES="$(dirname $(realpath $0))"
[ -L ~/.config ] || ln -s $DOTFILES/config ~/.config

此脚本寻找它的位置,然后将 ~/.config 链接到它被签出的地方。这意味着几乎没有关于它需要位于主目录中的位置的假设。

获取文件

大多数 shells 仍然直接在主目录下寻找文件。为了解决这个问题,你要增加一层指示。从 $DOTFILES 中获取文件意味着在修改 shell 配置时不需要重新运行安装程序。

$!/bin/bash
set -e
DOTFILES="$(dirname $(realpath $0))"
grep -q 'SETTING UP BASH' ~/.bashrc || \
echo "source $DOTFILES/starship.bash # SETTING UP BASH" >> ~/.bashrc

再次注意,这个脚本很仔细地做了幂等:如果这一行已经在那里了,它就不会再添加。它还考虑到了你在 .bashrc 上已经做的任何编辑,虽然这不是一个好主意,但也没有必要惩罚它。

反复测试

当你把环境保持在源码控制中时,开发虚拟机和容器就成了一个解决方案,而不是一个问题。试着做一个实验。建立一个新的开发环境,克隆你的点文件,安装,并看看有什么问题。

不要只做一次。至少每周做一次。这将使你更快地完成工作,同时也会告诉你什么是不可行的。暴露问题,修复它们,然后重复。

当前文章:我在源码控制中维护点文件的技巧
本文地址:http://www.gawzjz.com/qtweb/news39/182489.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联