Home | 简体中文 | 繁体中文 | 杂文 | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | Github | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | 打赏(Donations) | About
知乎专栏多维度架构

Netkiller Project 手札

Software engineering platform, Integrated SCM & Project Management, Version Control System

Continuous Integration & Delivery

Mr. Neo Chan, 陈景峯(BG7NYT)



中国广东省深圳市望海路半岛城邦三期
518067
+86 13113668890


$Date: 2013-04-10 15:03:49 +0800 (Wed, 10 Apr 2013) $

2009-12-12

电子书最近一次更新于 2021-08-02 20:07:46

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cn
http://netkiller.github.io
http://netkiller.sourceforge.net
微信订阅号 netkiller-ebook (微信扫描二维码)
微信:13113668890 请注明“读者”
QQ:13721218 请注明“读者”
QQ群:128659835 请注明“读者”
知乎专栏 | 多维度架构
51CTO:视频课程

内容摘要

本文档讲述Linux系统涵盖了系统管理与配置包括:

[注意]对初学Linux的爱好者忠告

玩Linux最忌reboot(重新启动)这是windows玩家坏习惯

Linux只要接上电源你就不要再想用reboot,shutdown,halt,poweroff命令,Linux系统和应用软件一般备有reload,reconfigure,restart/start/stop...不需要安装软件或配置服务器后使用reboot重新引导计算机

在Linux系统里SIGHUP信号被定义为刷新配置文件,有些程序没有提供reload参数,你可以给进程发送HUP信号,让它刷新配置文件,而不用restart.通过pkill,killall,kill 都可以发送HUP信号例如: pkill -HUP httpd

我的系列文档:

操作系统

Netkiller Linux 手札 Netkiller FreeBSD 手札 Netkiller Shell 手札
Netkiller Security 手札 Netkiller Web 手札 Netkiller Monitoring 手札
Netkiller Storage 手札 Netkiller Mail 手札 Netkiller Virtualization 手札
Netkiller Cryptography 手札   

以下文档停止更新合并到 《Netkiller Linux 手札》

Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller Multimedia 手札    

致读者

Netkiller 系列电子书始于 2000 年,风风雨雨走过20年,将在 2020 年终结,之后不在更新。作出这种决定原因很多,例如现在的阅读习惯已经转向短视频,我个人的时间,身体健康情况等等......

感谢读者粉丝这20年的支持

虽然电子书不再更新,后面我还会活跃在知乎社区和微信公众号

目录

1. 自述
1.1. 写给读者
1.2. 作者简介
1.3. 如何获得文档
1.4. 打赏(Donations)
1.5. 联系方式
1. Gitlab 项目管理
1.1. GitLab
1.1.1. Docker 方式安装 Gitlab
1.1.2. docker-compose 安装
1.1.3. CentOS 8 Stream
1.1.4. Yum 安装 GitLab
1.1.4.1. GitLab Runner
1.1.5. 绑定SSL证书
1.2. 用户管理
1.2.1. 创建用户
1.3. 组管理
1.3.1. 创建组与项目
1.4. 项目管理
1.5. 分支管理
1.6. Issue
1.6.1. Milestones 里程碑
1.6.2. Labels 标签
1.7. 合并
1.7.1. 代码审查
1.8. WebHook
1.9. CI / CD
1.9.1. 远程服务器配置
1.9.2. 配置 CI / CD
1.9.2.1. 安装 GitLab Runner
1.9.2.2. 注册 gitlab-runner
1.9.3. Shell 执行器
1.9.3.1. /etc/gitlab-runner/config.toml
1.9.3.2. 生成 SSH 证书
1.9.3.3. Java 环境
1.9.3.4. NodeJS
1.9.3.5. 远程执行 sudo 提示密码
1.9.4. Docker 执行器
1.10. Pipeline
1.10.1. cache
1.10.2. before_script
1.10.3. stages
1.10.4. services
1.10.5. tags
1.10.6. Git submodule
1.10.7. 应用案例
1.10.7.1. Java
1.10.7.2. vue.js android
1.11. FAQ
1.11.1. 查看日志
1.11.2. debug runner
1.11.3. gitolite 向 gitlab 迁移
1.11.4. 修改主机名
1.11.5. ERROR: Uploading artifacts as "archive" to coordinator... too large archive
2. TRAC
2.1. Ubuntu 安装
2.1.1. source code
2.1.2. easy_install
2.1.3. Apache httpd
2.2. CentOS 安装
2.2.1. trac.ini
2.2.2. standalone
2.2.3. Using Authentication
2.2.4. trac-admin
2.2.4.1. Permissions
2.2.4.2. Resync
2.3. Project Environment
2.3.1. Sqlite
2.3.2. MySQL
2.3.3. Plugin
2.3.3.1. AccountManagerPlugin
2.3.3.2. Subtickets
2.4. trac.ini
2.4.1. repository
2.4.2. attachment 附件配置
2.5. trac-admin
2.5.1. adduser script
2.6. Trac 项目管理
2.6.1. Administration
2.6.1.1. General
2.6.1.2. Ticket System
2.6.1.3. Version Control
2.6.2. Wiki
2.6.3. Timeline
2.6.4. Roadmap
2.6.5. Ticket
2.7. FAQ
2.7.1. TracError: Cannot load Python bindings for MySQL
2.8. Apache Bloodhound
3. Redmine
3.1. CentOS 安装
3.2. Redmine 运行
3.3. 插件
3.3.1. workflow
4. TUTOS
5. Open Source Requirements Management Tool
6. Jenkins
6.1. 安装 Jenkins
6.1.1. OSCM 一键安装
6.1.2. Mac
6.1.3. CentOS
6.1.4. Ubuntu
6.1.5. Docker
6.1.6. Minikube
6.2. 配置 Jenkins
6.3. Jenkinsfile
6.3.1. Jenkinsfile - Declarative Pipeline
6.3.1.1. stages
6.3.1.2. script
6.3.1.3. junit
6.3.1.4. withEnv
6.3.1.5. parameters
6.3.1.6. options
6.3.1.7. triggers
6.3.1.8. tools
6.3.1.9. post
6.3.1.10. when 条件判断
6.3.1.11. 抛出错误
6.3.1.12. withCredentials
6.3.1.12.1. token
6.3.1.13. withMaven
6.3.1.14. isUnix() 判断操作系统类型
6.3.1.15. Jenkins pipeline 中使用 sshpass 实现 scp, ssh 远程运行
6.3.1.15.1. 后台运行
6.3.2. Jenkinsfile - Scripted Pipeline
6.3.2.1. git
6.3.2.2. 切换 JDK 版本
6.3.2.3. groovy
6.3.2.4. Groovy code
6.3.2.4.1. Groovy 函数
6.3.2.5. Ansi Color
6.3.2.6. 写文件操作
6.3.2.7. modules 实现模块
6.3.2.8. docker
6.3.2.9. input
6.3.2.10. if 条件判断
6.3.2.11. Docker
6.3.2.12. conditionalSteps
6.3.2.13. nexus
6.3.3. 设置环境变量
6.3.3.1. 系统环境变量
6.3.4. agent
6.3.4.1. label
6.3.4.2. docker
6.3.4.2.1. 指定docker 镜像
6.3.4.2.2. args 参数
6.3.4.2.3. Docker outside of Docker (DooD)
6.3.4.2.4. 挂在宿主主机目录
6.3.4.2.5. 构建镜像
6.3.4.3. Dockerfile
6.3.5. Steps
6.3.5.1. parallel 平行执行
6.3.5.2. echo
6.3.5.3. catchError 捕获错误
6.3.5.4. 睡眠
6.3.5.5. 限制执行时间
6.3.5.6. 时间截
6.3.6. 版本控制
6.3.6.1. checkout
6.3.6.2. Git
6.3.7. 节点与过程
6.3.7.1. sh
6.3.7.2. Windows 批处理脚本
6.3.7.3. 分配工作空间
6.3.7.4. node
6.3.8. 工作区
6.3.8.1. 变更目录
6.3.8.2. 判断文件是否存在
6.3.8.3. 分配工作区
6.3.8.4. 清理工作区
6.3.8.5. 递归删除目录
6.3.8.6. 写文件
6.3.8.7. 读文件
6.4. Jenkins Job DSL / Plugin
6.5. Jenkins Plugin
6.5.1. Blue Ocean
6.5.2. Locale Plugin (国际化插件)
6.5.3. github-plugin 插件
6.5.4. Docker
6.5.4.1. 设置 Docker 主机和代理
6.5.4.2. 持久化
6.5.5. JaCoCo
6.5.5.1. Pipeline
6.5.6. SSH Pipeline Steps
6.5.7. Rancher
6.5.8. Kubernetes 插件
6.5.8.1. Kubernetes
6.5.8.2. Kubernetes :: Pipeline :: Kubernetes Steps
6.5.8.3. Kubernetes Continuous Deploy
6.5.8.4. Kubernetes Cli
6.5.9. HTTP Request Plugin
6.5.10. Skip Certificate Check plugin
6.5.11. Android Sign Plugin
6.6. Jenkinsfile Pipeline Example
6.6.1. Maven 子模块范例
6.6.2. 使用指定镜像构建
6.6.3. 命令行制作 Docker 镜像
6.6.4. Yarn
6.6.5. Android
7. SonarQube
8. Phabricator - an open source, software engineering platform
9. Gerrit
10. TeamCity
I. 软件版本控制
11. Git - Fast Version Control System
11.1. Repositories 仓库管理
11.1.1. initial setup
11.1.2. checkout
11.1.3. Creating and Commiting
11.1.4. Manager remote
11.1.5. Status
11.1.6. Diff
11.1.6.1. --name-only 仅显示文件名
11.1.7. Cloning
11.1.8. Push
11.1.9. Pull
11.1.10. fetch
11.1.11. Creating a Patch
11.1.12. reset
11.2. 分支管理
11.2.1. 查看本地分支
11.2.2. 创建分支
11.2.3. 删除分支
11.2.4. 切换分支
11.2.5. 重命名分支
11.2.6. git-show-branch - Show branches and their commits
11.3. Sharing Repositories with others
11.3.1. Setting up a git server
11.3.2. 修改 origin
11.3.3. 删除 origin
11.4. Submodule 子模块
11.4.1. 添加模块
11.4.2. checkout 子模块
11.4.3. 删除子模块
11.5. Git Large File Storage
11.5.1. 安装 LFS 支持
11.5.2. LFS lock
11.6. command
11.6.1. hash-object
11.6.2. git-add - Add file contents to the index
11.6.3. git-status - Show the working tree status
11.6.4. git-commit - Record changes to the repository
11.6.5. git-show - Show various types of objects
11.6.6. git-checkout - Checkout and switch to a branch
11.6.6.1. checkout master
11.6.6.2. checkout branch
11.6.7. git config
11.6.8. git log
11.7. git-daemon 服务器
11.7.1. git-daemon - A really simple server for git repositories
11.7.2. git-daemon-sysvinit
11.7.3. inet.conf / xinetd 方式启动
11.7.4. git-daemon-run
11.7.5. Testing
11.8. git config
11.8.1. core.sshCommand
11.8.2. fatal: The remote end hung up unexpectedly
11.8.3. 忽略 SSL 检查
11.9. git-svn - Bidirectional operation between a single Subversion branch and git
11.10. .gitignore
11.11. .gitattributes
11.11.1. SVN Keywords
11.12. gitolite - SSH-based gatekeeper for git repositories
11.12.1. gitolite-admin
11.12.1.1. gitolite.conf
11.13. Web Tools
11.13.1. viewgit
11.14. FAQ
11.14.1. 导出最后一次修改过的文件
11.14.2. 导出指定版本区间修改过的文件
11.14.3. 回撤提交
11.14.4. 每个项目一个证书
12. Subversion
12.1. Invoking the Server
12.1.1. Installing
12.1.1.1. Ubuntu
12.1.1.2. CentOS 5
12.1.1.3. CentOS 6
12.1.2. standalone “daemon” process
12.1.2.1. starting subversion for debian/ubuntu
12.1.2.2. starting subversion daemon script for CentOS/Radhat
12.1.3. classic Unix-like inetd daemon
12.1.4. hooks
12.1.4.1. post-commit
12.1.5. WebDav
12.1.5.1. davfs2 - mount a WebDAV resource as a regular file system
12.2. repository 管理
12.2.1. create repository
12.2.2. user admin
12.2.3. authz
12.2.4. dump
12.3. 使用Subversion
12.3.1. Initialized empty subversion repository for project
12.3.2. ignore
12.3.3. 关键字替换
12.3.4. lock 加锁/ unlock 解锁
12.3.5. import
12.3.6. export 指定版本
12.3.7. 修订版本关键字
12.3.8. 恢复旧版本
12.4. branch
12.4.1. create
12.4.2. remove
12.4.3. switch
12.4.4. merge
12.4.5. relocate
12.5. FAQ
12.5.1. 递归添加文件
12.5.2. 清除项目里的所有.svn目录
12.5.3. color diff
12.5.4. cvs2svn
12.5.5. Macromedia Dreamweaver MX 2004 + WebDAV +Subversion
12.5.6. 指定用户名与密码
13. cvs - Concurrent Versions System
13.1. installation
13.1.1. chroot
13.2. cvs login | logout
13.3. cvs import
13.4. cvs checkout
13.5. cvs update
13.6. cvs add
13.7. cvs status
13.8. cvs commit
13.9. cvs remove
13.10. cvs log
13.11. cvs annotate
13.12. cvs diff
13.13. rename file
13.14. revision
13.15. cvs export
13.16. cvs release
13.17. branch
13.17.1. milestone
13.17.2. patch branch
13.18. keywords
14. Miscellaneous
14.1. 代码托管
14.1.1. sourceforge.net
14.1.1.1. http://netkiller.users.sourceforge.net/ 页面
14.1.2. Google Code
14.1.3. GitHub
14.1.3.1. 首次操作
14.1.3.2. clone 已经存在的仓库
14.2. GUI
14.2.1. TortoiseSVN
14.2.2. TortoiseGit
14.3. Browser interface for CVS and SVN version control repositories

范例清单

6.1. Shell Docker 示例
12.1. authz

1. Nexus Repository OSS

https://www.sonatype.com/download-oss-sonatype

	
wget https://www.sonatype.com/oss-thank-you-tar.gz	
	
	

1.1. 安装 Nexus

1.1.1. Docker

			
docker run -d -p 8081:8081 --restart=always --name nexus sonatype/nexus3			
			
			

1.2. Nexus UI

http://localhost:8081/ 登陆用户名 admin 默认密码 admin123

1.3. maven 设置

maven在settings.xml中配置如下,下次maven就会通过访问电脑上的私服来获取jar包

		
<mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://localhost:8081/repository/maven-public/</url>
    </mirror>
</mirrors>
		
		

1.4. Node.js

输入命令登陆远程仓库

		
npm login --registry=http://nexus.netkiller.cn/repository/npm/		
		
		

在项目中输入

		
npm pack	
		
		

上传

		
npm publish --registry=http://nexus.netkiller.cn/repository/npm/		
		
		

1.5. Ruby

安装 nexus 包

		
$ gem install nexus		
		
		

打包

		
gem build project.gemspec
		
		

上传,系统会提示上传URL

		
gem nexus project-1.0.0.gem