-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
136 lines (136 loc) · 25.4 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[Android 自定义地图比例尺控件]]></title>
<url>%2F2017%2F09%2F22%2Fandroid-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%AF%94%E4%BE%8B%E5%B0%BA%E6%8E%A7%E4%BB%B6%2F</url>
<content type="text"><![CDATA[关于在 Android 自定义地图比例尺控件的背景与过程 背景比例尺是标识图上一条线段的长度与地面上相应线段的实际长度之比。因此地图上的比例尺包含两个要素,线段与值。 这里我们需要自己绘制出一个比例尺控件。 比例尺表示选择目前比例尺有两种表达方案: 固定线段长度,改变值 固定值,改变线段长度 参考目前流行的百度地图、高德地图,采用第二种方案。即在地图缩放的过程中,实施改变比例尺的长度。 步骤1. 创建一个比例尺控件「MyScaleView.java」2. 继承 View ,重写其构造方法,定义变量123456789101112131415161718192021222324Context mContext;int mScaleWidth;int mScaleHight;String mScaleText;int mTextColor;int mScaleSpaceText;int mTextSize;Paint mPaint;public MyScaleView(Context context) { super(context); this.mContext = context; initScale();}public MyScaleView(Context context, AttributeSet attrs) { super(context, attrs); this.mContext = context; initScale();}public MyScaleView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); this.mContext = context; initScale();} 其中 : mScaleWidth 是比例尺的宽度 mScaleHight 是比例尺的高度 mScaleText 是比例尺显示的文字 mTextColor 是比例尺显示文字的颜色 mScaleSpaceText 是比例尺文字与图例的空隙 mTextSize 是比例尺文字的大小 3. 编写初始化参数的方法 initScale(),在构造方法中调用123456789101112/** * 初始化比例尺参数 */private void initScale() { mScaleWidth = 120; mScaleHight = 10; mScaleText = "比例尺"; mTextColor = Color.BLUE; mScaleSpaceText = 6; mTextSize = getResources().getDimensionPixelSize(R.dimen.txt_map_scale_size); mPaint = new Paint();} 其中R.dimen.txt_map_scale_size是「dimens.xml」中设置的比例尺文字大小,目的是适配不用尺寸的设备。 4. 编写 获取宽度,获取高度的方法,getWidthSize(),getHightSize()12345678910111213141516171819202122private int getWidthSize(int widthMeasureSpec) { return MeasureSpec.getSize(widthMeasureSpec);}private int getHeightSize(int heightMeasureSpec) { int mode = MeasureSpec.getMode(heightMeasureSpec); int height = 0; switch (mode) { case MeasureSpec.AT_MOST: height = mTextSize + mScaleSpaceText + mScaleHight; break; case MeasureSpec.UNSPECIFIED: height = Math.max(mTextSize + mScaleSpaceText + mScaleHight, MeasureSpec.getSize(heightMeasureSpec)); break; case MeasureSpec.EXACTLY: height = MeasureSpec.getSize(heightMeasureSpec); break; default: break; } return height;} 5. 重写 onMearsure() 方法1234567@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); int widthSize = getWidthSize(widthMeasureSpec); int heightSize = getHeightSize(heightMeasureSpec); setMeasuredDimension(widthSize, heightSize);} 使用 setMeasuredDimension将宽高返回给父View 6. 重写 onDraw() 方法12345678910111213@Overrideprotected void onDraw(Canvas canvas) { super.onDraw(canvas); int scaleWidth = mScaleWidth; mPaint.setColor(mTextColor); mPaint.setAntiAlias(true); mPaint.setTextSize(mTextSize); mPaint.setTypeface(Typeface.DEFAULT); float textWidth = mPaint.measureText(mScaleText); canvas.drawText(mScaleText, (scaleWidth - textWidth) / 2, mTextSize, mPaint); Rect scaleRect = new Rect(0, mTextSize + mScaleSpaceText, scaleWidth, mTextSize + mScaleSpaceText + mScaleHight); drawNightPath(canvas, scaleRect);} 需要说明的是,canvas.drawText()设置文字的左下角为绘制的起点,如图所示 7. 编写比例尺刷新方法 refreshScaleView()123456789101112131415161718192021222324252627282930313233/** * 对外接口 ,刷新比例尺信息 * @param width 比例尺的宽度,如 1.6 厘米 * @param scaleText 比例尺要显示的文字 */public void refreshScaleView(double width , String scaleText) { setScaleText(scaleText); setScaleWidth(width); invalidate();}private void setScaleText(String scaleText) { this.mScaleText = scaleText;}private void setScaleWidth(double width) { double ppi = getPPIofDevice(); mScaleWidth = (int) (width * ppi / 2.54);}/** * @return 设备 PPI 值 */private double getPPIofDevice() { Point point = new Point(); Activity activity = (Activity) mContext; activity.getWindowManager().getDefaultDisplay().getRealSize(point); DisplayMetrics dm = getResources().getDisplayMetrics(); double x = Math.pow(point.x / dm.xdpi, 2); double y = Math.pow(point.y / dm.ydpi, 2); double screenInches = Math.sqrt(x + y); return Math.sqrt(Math.pow(point.x, 2) + Math.pow(point.y, 2)) / screenInches;} refreshScaleView() 为被调用的刷新比例尺数据的方法 setScaleText() 设置比例尺文字,这个不用说明 setScaleWidth() 这是比例尺的宽度,里面用到 getPPIofDevice()这方法来获取设备的PPI数据,用于显示实际宽度 题图:来源于 Google本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Android</category>
</categories>
<tags>
<tag>note</tag>
<tag>Android</tag>
<tag>自定义控件</tag>
<tag>比例尺</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Linux 调整 Swap]]></title>
<url>%2F2017%2F09%2F11%2FLinux-change-swap%2F</url>
<content type="text"><![CDATA[关于在 Linux 安装后调整 Swap 的方法 调整步骤 切换到超级用户 12$ su root> Password: 在 「/root/」目录下创建一个 2GB 名为「myswaofile」的交换文件 1234567# dd if=/dev/zero of=/root/myswapfile bs=1G count=2 > 2+0 records in> 2+0 records out> 2147483648 bytes (2.1 GB, 2.0 GiB) copied, 24.9961 s, 85.9 MB/s# ls -l /root/myswapfile > -rw-r--r--. 1 root root 2147483648 Sep 6 11:20 /root/myswapfile 设置文件权限,以保护此 swap 分区 1# chmod 600 /root/myswapfile 使用 mkswap命令,让此文件设置 「swap」 123# mkswap /root/myswapfile> Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)> no label, UUID=efdad09d-d48c-4c2b-a2e4-7704b4991881 启动交换文件 1# swapon /root/myswapfile 为了确保开机启动,在「/etc/fstab」末尾加入: CoreOS 无此文件 12# cat /etc/fstab> cat: /etc/fstab: No such file or directory 查看系统中交换文件设置情况 123# swapon -s> Filename Type Size Used Priority> /root/myswapfile file 2097148 0 -1 使用 free 确认再次确认 12345# free -h> total used free shared buffers cached> Mem: 11G 4.6G 7.2G 16M 71M 2.6G> -/+ buffers/cache: 1.9G 9.8G> Swap: 2.0G 0B 2.0G 其他命令打开所有交换空间1# swappon -a 关闭所有交换空间1# swappoff -a 题图:来源于 Google本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Linux</category>
</categories>
<tags>
<tag>note</tag>
<tag>swap</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Linux 手动释放 Cache]]></title>
<url>%2F2017%2F09%2F11%2FLinux-free-cache%2F</url>
<content type="text"><![CDATA[关于在 Linux 手动释放内存的方法介绍 手动内存步骤 使用 free 查看内存使用情况 12345$ free -h> total used free shared buffers cached> Mem: 11G 4.6G 7.2G 16M 76M 2.6G> -/+ buffers/cache: 1.9G 9.9G> Swap: 2.0G 0B 2.0G 切换到超级用户 12$ su root> Password: 查看 「/proc/sys/vm/drop_caches」的值,默认为 0 12# cat /proc/sys/vm/drop_caches> 0 手动执行 sync命令 1# sync 描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件 将/proc/sys/vm/drop_caches值设为3 123# echo 3 > /proc/sys/vm/drop_caches# cat /proc/sys/vm/drop_caches> 3 使用 free 查看内存使用情况 12345# free -h> total used free shared buffers cached> Mem: 11G 1.9G 9.8G 16M 2.6M 217M> -/+ buffers/cache: 1.7G 10G> Swap: 2.0G 0B 2.0G 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Linux</category>
</categories>
<tags>
<tag>note</tag>
<tag>cache</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Docker-Image-导出载入]]></title>
<url>%2F2017%2F09%2F11%2FDocker-image-%E5%AF%BC%E5%87%BA%E8%BD%BD%E5%85%A5%2F</url>
<content type="text"><![CDATA[关于使用 Docker 对镜像进行导出与载入的方法 Docker 镜像进行导出与载入命令 将外网的镜像导出 1docker save [IMAGE ID] > [IMAGE NAME].tar 在内网导入镜像 1docker load < [IMAGE NAME].tar 更改镜像的名字和标签 1docker tag [IMAGE ID] [IMAGE NAME]:[TAG] 其他命令 容器的导出1docker export [CONTAINER ID] > [NAME].tar 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Docker</category>
</categories>
<tags>
<tag>docker</tag>
<tag>load</tag>
<tag>export</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Git 仓库独立运动 - 实验笔记]]></title>
<url>%2F2017%2F09%2F11%2FGit-%E4%BB%93%E5%BA%93%E7%8B%AC%E7%AB%8B%E8%BF%90%E5%8A%A8%2F</url>
<content type="text"><![CDATA[关于 Git 仓库独立的笔记 背景在开发的过程中,因考虑到: 项目「文档类文件」与项目「代码类文件」应该分开管理; 项目管理人员与测试人员等角色无需接触「代码类文件」。 因此采取将「代码类文件」从原仓库中剥离出来作为独立仓库的措施; 目前,我已经尝试过将「project-a」内的「src」目录,通过 git submodule 的方式分离出一个单独的仓库作为子模块。 问题 在「src」内有「子模块A - model-a」,在实际开发过程中,项目工程代码经常因为不同的需求而进行不同分支上切换,直接导致在每次使用「子模块A」的时候就需要多次切换分支与重新编译,存在操作不便与严重拉低开发效率。因此需要将此目录「model-a」从「src」中独立出来。 原方法 「git submodule」 由于以下原因,故而改之尝试使用 「git subtree」 根据官方文档,git submodule 在日常使用过程中,每次提交后都需要在上一级模块中使用 git submodule update 等命令,目前我们团队中还没有使用过,存在操作不当的风险; git subtree 是 Git 官方推荐用来代替 git submodule 的新方式,官方宣称能更方便更合理的管理子模块; 目的 将「model-a」从 「src」仓库中独立; 使用 「git subtree」 的方式,理解与「git submodule」的差别; 决定在「model-a」使用哪种方式; 过程一、subtree -> 在自己的 git 仓库上模拟试验 措施: 使用 「subtree」 结果: 试验未完全成功、暂不采用 原因:「subtree」模式下,子模块的改动,在上级仓库能侦测到,并且能提交。使用方式与原「submodule」存在差异,在现在开发紧张的阶段,考虑到学习与适应成本,暂不采用。 1. 分离:目的:将 「test 目录」分离出来;(因为这个目录带有log) 把所有 test 目录下的相关提交整理为一个新的分支 「test-split」;(ps:此命令执行速度不快)$ git subtree split -P test -b test-split 另建一个新目录并初始化为 test 仓库 $ mkdir ../test $ cd ../test $ git init 拉取旧仓库的 test-split 分支到当前的 master 分支;$ git pull ../test-mama test-split 将此子仓库关联到远端; (ps:这里缺少其他分支的关联,未继深入尝试)$ git remote add origin ssh://git@****/****/****.git $ git push -u origin master 回到原项目目录,清理 master 分支上所有跟 「test 目录」有关的痕迹;(ps:此命令执行速度不快) 遭遇问题:执行之后,母仓库就脱离了组织,无法 pull 与 push $ cd ../test-mama $ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch git" --prune-empty master 另建一个新目录并初始化为 git 仓库;$ mkdir ../test-mama-fresh $ cd ../test-mama-fresh $ git init 拉取 test-mama 的 master 分支;(到新仓库的 master 分支)$ git pull ../test-mama master ~~ 1. 改变远程仓库 -> 到这里无法 push 和 pull 「更改被拒绝」 ~~~~ $ git remote add origin git@****/****/****.git ~~ ~~ $ git push origin -u master ~~ 2. 关联:目的:将分离出去的仓库与原项目关联 将 git 的项目仓库下载到新仓库的指定目录下$ git subtree add --prefix=git ssh://git@****/****/****.git master 3. 更新目的:能进行推送代码与拉取代码的功能: 将子目录的更改提交到服务器上:$ git subtree push --prefix=git ssh://git@****/****/****.git master 将子目录同步到服务器上最新的版本:$ git subtree pull --prefix=git ssh://git@****/****/****.git master 4. 问题 分离出来的母仓库脱离了组织。 分离出来的子仓库,像是复制出来的样子。 在子仓库做的改动,母仓库能有检索。 这与 submodule 有差异。 二、submodule -> 在自己的 git 仓库上模拟试验 措施: 使用 「filter-branch + submodule」 结果: 试验成功,未采用 submodule 原因: submodule 已经使用过,然存有潜在的问题 1. 剥离目的:将目标子仓库分离出来 clone 出一个新的仓库到目录 test (这时候 test 的目录,与test-mama完全一样) $ git clone test-mama test 刚克隆出来的 test 仓库本地只会有一个分支,如果需要其他分支,则创建;(本仓库没有分,故没进行这一步)$ git branch br1 origin/br1 $ git branch br2 origin/br2 最后origin这个remote是不需要的,把它删除了$ git remote rm origin 2. 独立 将本仓库转化为 git 子模块!(这个最重要) 该命令过滤所有历史提交,保留对 test 子目录有影响的提交,并且把子目录设为该仓库的根目录。该命令执行完毕后,查看当前目录结构就会发现里面已经是子目录的内容了。 $ git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter git -- --all 清理仓库 $ git reset --hard $ git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d $ git reflog expire --expire=now --all $ git gc --aggressive --prune=now 最后,我们就可以把这个新的仓库提交到服务器上,然后把旧仓库中的 git 子目录删除并以 submodule 的方式添加 test-mama 仓库就好了。 3. 关联 将整理好的仓库同步到服务器新的仓库地址; 未尝试 然后把旧仓库中的 git 子目录删除,并以 submodle 的方式添加即可。 未尝试 三、在 project-a 项目上实现 措施: 使用 「filter-branch + submodule」 结果: 试验完成,正在使用,等待一段时间后的反馈 原因: 因为 subtree 非完全独立仓库,也因为原来就是用着 submodule 存在潜在的问题,所以只采取了 filter-branch 分离措施; 1. 剥离目的:将目标子目录「model-a」分离出来 clone 出一个新的仓库到目录 plan-tool $ git clone ssh://git@****/****/project-a.src.git plan-tool 添加其他必要的分支 $ git branch park-data origin/park-data $ git branch publish/data origin/publish/data 最后origin这个remote是不需要的,把它删除了 $ git remote rm origin 2. 独立目的:将子目录独立出新的仓库 将本目录中的 「model-a」 转化为本仓库的根目录 这个没有删除 tag $ git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter model-a -- --all 整理仓库,清除无用信息 下面的命令具体干了什么不知道,但是文件夹真的变小了。 本次操作中,4G -> 256M $ git reset --hard $ git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d $ git reflog expire --expire=now --all $ git gc --aggressive --prune=now 3. 关联目的:a. 将本地仓库与服务器的新仓库关联; b. 将子仓库与母仓库关联; 将本地仓库,与服务器上新建的仓库关联起来 $ git remote add origin ssh://git@****/****/project-a.src.plat-tool.git 推送仓库 推送指定 分支 $ git push -u origin <branch> 推送所有分支到远程仓库 $ git push --all 与母仓库关联 暂时不做关联,直接以目录的方式放在「src」目录下 四、总结submodule 与 subtree 对比 在使用感觉上, git submodule 类似于引用仓库,而 git subtree 似徐于复制仓库。使用 git submodule 母仓库与子仓库各自的 pull 与 push 互不关联,母仓库只知道子仓库有改动,但具体的改动不能知道。使用 git subtree 子仓库做具体的修改,母仓库可知道。并且在母仓库可提交与记录子仓库的改动。 使用 git subtree push 可在母仓库的提交中遍历出与子仓库相关的改动,单独提交与记录到子仓库上。 filter-branch 使用 此命令用于仓库分离,以后再详细研究; Git仓库清理 有命令可以让 Git 仓库瘦身,下次在 「project-a」上尝试用一下命令清理「project-a」仓库,从 25.8 GB -> 24.3 GB以下为操作指令,效果很不明显。 原因不明,日后再查 $ git gc --aggressive --prune=now 对象计数中: 77604, 完成. Delta compression using up to 4 threads. 压缩对象中: 100% (73701/73701), 完成. 写入对象中: 100% (77604/77604), 完成. Total 77604 (delta 35291), reused 40791 (delta 0) 正在删除重复对象: 100% (256/256), 完成. 检查连接中: 77604, 完成. 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Git</category>
</categories>
<tags>
<tag>git</tag>
<tag>仓库独立</tag>
<tag>note</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Git 仓库迁移]]></title>
<url>%2F2017%2F09%2F11%2FGit-%E4%BB%93%E5%BA%93%E8%BF%81%E7%A7%BB%2F</url>
<content type="text"><![CDATA[关于 Git 仓库 迁移的方法 迁移命令模板 镜像克隆: 12git clone --mirror https://github.com/../old.git old.gitcd old.git 然后推送镜像: 12git remote set-url --push origin [email protected]/.../new.gitgit push --mirror 或者推送新建remote再推送: 123git remote add mirror origin [email protected]/.../new.gitgit push mirror --allgit push mirror --tags project-a 迁移实例1234567$ git clone --mirror ssh://git@****:****/****/project-a.git> 克隆到纯仓库 'project-a.git'...> remote: Counting objects: 7012, done.> remote: Compressing objects: 100% (8/8), done.> remote: Total 7012 (delta 0), reused 0 (delta 0)> 接收对象中: 100% (7012/7012), 487.89 MiB | 41.89 MiB/s, 完成.> 处理 delta 中: 100% (2835/2835), 完成. 1$ cd project-a.git/ 1$ git remote set-url --push origin ssh://git@****:****/****/project-a.git 123456789101112131415$ git push --mirror> The authenticity of host '[server]:10090 ([172.24.***.***]:10090)' can't be established.> ECDSA key fingerprint is SHA256:nVnsCJaQGoJh0ehUKJ2/v4YQkJIKM2VzadcoUvTyFKc.> Are you sure you want to continue connecting (yes/no)? yes> Warning: Permanently added '[server]:10090,[172.24.***.***]:10090' (ECDSA) to the list of known hosts.> 对象计数中: 7012, 完成.> Delta compression using up to 4 threads.> 压缩对象中: 100% (3456/3456), 完成.> 写入对象中: 100% (7012/7012), 487.89 MiB | 12.49 MiB/s, 完成.> Total 7012 (delta 2835), reused 7012 (delta 2835)> remote: Resolving deltas: 100% (2835/2835), done.> To ssh://cmserver:10090/cartronics/project-a.git> * [new branch] master -> master> * [new branch] customer -> customer> * [new branch] refs/keep-around/6780f93f4b5c07c2f9de9ee9f1af591b9ad1e874 -> refs/keep-around/6780f93f4b5c07c2f9de9ee9f1af591b9ad1e874 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Git</category>
</categories>
<tags>
<tag>git</tag>
<tag>仓库迁移</tag>
</tags>
</entry>
<entry>
<title><![CDATA[Git 新仓库初始化流程]]></title>
<url>%2F2017%2F09%2F11%2FGit-%E6%96%B0%E4%BB%93%E5%BA%93%E5%88%9D%E5%A7%8B%E5%8C%96%E6%B5%81%E7%A8%8B%2F</url>
<content type="text"><![CDATA[关于使用 Git 初始化新仓库(同时下载子模块)的流程。 登录代码托管平台, 添加本地「SSH 密钥」; clone「project-a」仓库 1$ git clone ssh://git@cmserver:10023/cartronics/project-a.git 进入「project-a」目录; 1cd project-a 初始化与更新子仓库 12$ git submodule init$ git submodule update 进入子仓库 1$ cd moddule-a/ 切换到自己工作分支,下面选的是「branck-a」分支 1$ git checkout branck-a 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>Git</category>
</categories>
<tags>
<tag>git</tag>
<tag>note</tag>
<tag>仓库初始化</tag>
<tag>submodule</tag>
</tags>
</entry>
<entry>
<title><![CDATA[服务器内网搭建 Gogs]]></title>
<url>%2F2017%2F09%2F11%2F%E6%9C%8D%E5%8A%A1%E5%99%A8-%E5%86%85%E7%BD%91%E6%90%AD%E5%BB%BA-Gogs%2F</url>
<content type="text"><![CDATA[关于在服务器内网搭建 Gogs 的方法 加载 gogs/gogs 镜像 具体步骤可参考 「docker-image-导出载入.md」 在外网下载此镜像; 搬运到内网虚拟机中; 在虚拟机载入镜像; 12$ docker load < gogs-gogs.tar$ docker tag 245abb5da84e gogs/gogs:latest 部署 Gogs创建一个本地文件,用于储存 Gogs 的重要文件1$ mkdir -p /opt/mydisk/gogs 使用 docker run 初始化启动容器1234$ docker run --name=gogs -d \-p 10023:22 -p 10083:3000 \-v /opt/mydisk/gogs:/data \gogs/gogs 如果容器停止,使用 docker start 重现开启1$ docker start gogs 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>服务器</category>
</categories>
<tags>
<tag>docker</tag>
<tag>note</tag>
<tag>gogs</tag>
<tag>内网</tag>
</tags>
</entry>
<entry>
<title><![CDATA[服务器的虚拟机增加内存]]></title>
<url>%2F2017%2F09%2F11%2F%E6%9C%8D%E5%8A%A1%E5%99%A8-%E5%86%85%E7%BD%91%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%A2%9E%E5%8A%A0%E5%86%85%E5%AD%98%2F</url>
<content type="text"><![CDATA[关于在服务器增加虚拟机内存的方法 背景大家在 project-a 上的分支没办法 clone 与 pull。原因是:服务器上分配给 git 可用内存不够。导致服务器在打包 git 仓库的过程中失败了。 目的因此决定,增加 Git 所在容器的虚拟机的内存。目前分配了 4G,现打算增加到 16GB。 过程给虚拟机增加内存的过程非常简单。 其中 GitLab 为正在使用的 GitLab 托管平台 , 「虚拟机 C1」 为部署有Docker负债均衡的虚拟机 停止 「GitLab 容器」; 停止「虚拟机 C1」; 设置「虚拟机 C1」的内存为 16GB; 启动「虚拟机 C1」; 在虚拟机输入命令 docker ps,以启动负载均衡的组件; 启动 「GitLab 容器」; 后记 然后发现分配 16GB 太大了。虚拟机在使用了内存后,是不会还给宿主机的。因此导致宿主机服务器内存占用率一直在 98% 。可能因为虚拟机使用的是 VMware (不知道其他虚拟机是不是也这样)。所以最后调整「虚拟机 C1」分配为 12GB 内存; 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>服务器</category>
</categories>
<tags>
<tag>note</tag>
<tag>虚拟机</tag>
<tag>服务器</tag>
<tag>内存</tag>
<tag>douker</tag>
</tags>
</entry>
<entry>
<title><![CDATA[服务器内网部署 Jenkins]]></title>
<url>%2F2017%2F09%2F11%2F%E6%9C%8D%E5%8A%A1%E5%99%A8-%E5%86%85%E7%BD%91%E9%83%A8%E7%BD%B2-Jenkins%2F</url>
<content type="text"><![CDATA[关于在内网服务器部署 Jenkins 的笔记 一、将外网的 Jenkins 镜像拉入内网;部署 Jenkins 到 Docker; 容器初始化12345sudo docker run --name jenkins -d \-p 10091:8080 -p 50000:50000 \-v /opt/mydisk/jenkins:/var/jenkins_home/ \-u root \jenkins:latest 上传 Git 相关插件; 在 Jenkins 官网的插件模块下载插件。 Git 插件需要依赖许多插件 拉取 my-data 仓库; 在 Jenkins 内进行设置; 例如:Repository URL : http://**************/****/Data.git 打包压缩某个目录 使用 linux 的 shell 命令; To do something 本站点采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。]]></content>
<categories>
<category>服务器</category>
</categories>
<tags>
<tag>docker</tag>
<tag>note</tag>
<tag>内网</tag>
<tag>jenkins</tag>
</tags>
</entry>
</search>