Git 标签 如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签. 比如说,我们想为我们的 xxx 项目发布一个"1.0"版本. 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签. -a 选项意为"创建一个带注解的标签". 不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解. 我推荐一直创建带注解的标签.…
Git 教程 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持. Git 与 SVN 区别 Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换…
Git Gitee 大家都知道国内访问 Github 速度比较慢,很影响我们的使用. 如果你希望体验到 Git 飞一般的速度,可以使用国内的 Git 托管服务--Gitee(gitee.com). Gitee 提供免费的 Git 仓库,还集成了代码质量检测.项目演示等功能.对于团队协作开发,Gitee 还提供了项目管理.代码托管.文档管理的服务,5 人以下小团队免费. 接下来我们学习一下如何使用 Gitee. 由于我们的本地 Git 仓库和 Gitee 仓库之间的传输是通过SSH加密的,所以我们…
Git 工作流程 本章节我们将为大家介绍 Git 的工作流程. 一般工作流程如下: 克隆 Git 资源作为工作目录. 在克隆的资源上添加或修改文件. 如果其他人修改了,你可以更新资源. 在提交前查看修改. 提交修改. 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交. 下图展示了 Git 的工作流程:…
Docker Compose Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具.通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务.然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务. 如果你还不了解 YML 文件配置,可以先阅读  . Compose 使用的三个步骤: 使用 Dockerfile 定义应用程序的环境. 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起…
Docker Dockerfile 什么是 Dockerfile? Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 使用 Dockerfile 定制镜像 这里仅讲解如何运行 Dockerfile 文件来定制一个镜像,具体 Dockerfile 文件内指令详解,将在下一节中介绍,这里你只要知道构建的流程即可. 1.下面以定制一个 nginx 镜像(构建好的镜像内会有一个 /usr/share/nginx/html/index.html 文件) 在…
Docker 教程 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低. Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise…
Docker 架构 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统.比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统. 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体.容器可以被创建.启动.停止.删除.暂停等. 仓库(Repository):…
Docker Machine 简介 Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine 命令来管理主机. Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker. Docker Machine 管理的虚拟主机可以是机上的,也可以是云供应商,如阿里云,腾讯云,AWS,或 DigitalOcean. 使用 docker-machine 命令,您可以启动,检查,…
Docker 仓库管理 仓库(Repository)是集中存放镜像的地方.以下介绍一下 Docker Hub.当然不止 docker hub,只是远程的服务商不一样,操作都是一样的. Docker Hub 目前 Docker 官方维护了一个公共仓库 Docker Hub. 大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现. 注册 在   免费注册一个 Docker 账号. 登录和退出 登录需要输入用户名和密码,登录成功后,我们就可以从 docker hub 上拉取自己账号下的全…
云服务器 云服务器(Elastic Compute Service, ECS)是一种简单高效.安全可靠.处理能力可弹性伸缩的计算服务. 云服务器管理方式比物理服务器更简单高效,我们无需提前购买昂贵的硬件,即可迅速创建或删除云服务器,云服务器费用一般在几十到几百不等,可以根据我们的需求配置. 目前市场上的云服务器很多,这里主要介绍以下几家: :活动折扣力度很大(1核2G,72.60/年). :腾讯云目前活动多一些,性价比也高. 注意:很多云服务器给新用户提供的优惠力度是最大,基本上都是 1-2 折…
Docker 镜像使用 当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载. 下面我们来学习: 1.管理和使用本地 Docker 主机镜像 2.创建镜像 列出镜像列表 我们可以使用  docker images 来列出本地主机上的镜像. xxx@xxx:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 14.04 90d5884b…
Git 服务器搭建 上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,2019 年开始 Github 私有存储库也可以无限制使用. 这当然我们也可以自己搭建一台 Git 服务器作为私有仓库使用. 接下来我们将以 Centos 为例搭建 Git 服务器. 1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum install…
Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作. 你就需要将数据放到一台其他开发人员能够连接的服务器上. 本例使用了 Github 作为远程仓库,你可以先阅读我们的 添加远程库 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下: git remote add [shortname] [url] 本例以 Github 为例作为远程仓库,如…
​ Git 查看提交历史 Git 提交历史一般常用两个命令: git log 在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看. 针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下: git log - 查看历史提交记录. git blame <file> - 以列表形式查看指定文件的历史修改记录. $ git log commit d5e9fc2c811e0ca2b2d28506ef7dc14171a207…
​ Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来. 创建分支命令: git branch (branchname) 切换分支命令: git checkout (branchname) 当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录. 合并分支命令:…
Git 工作区.暂存区和版本库 基本概念 我们先来理解下 Git 工作区.暂存区和版本库概念: 工作区:就是你在电脑里能看到的目录. 暂存区:英文叫 stage 或 index.一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index). 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库. 下面这个图展示了工作区.版本库中的暂存区和版本库之间的关系: 图中左侧为工作区,右侧为版本库.在版本库中标记为 "i…
Git 安装配置 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git-scm.com/downloads Linux 平台上安装 Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具. 在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系…
Maven 教程 Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建.报告和文档等步骤.Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理.Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目.Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金…
Maven 构建配置文件 构建配置文件是一系列的配置项的值,可以用来设置或者覆盖 Maven 构建默认值. 使用构建配置文件,你可以为不同的环境,比如说生产环境(Production)和开发(Development)环境,定制构建方式. 配置文件在 pom.xml 文件中使用 activeProfiles 或者 profiles 元素指定,并且可以通过各种方式触发.配置文件在构建时修改 POM,并且用来给参数设定不同的目标环境(比如说,开发(Development).测试(Testing)和生产…
Docker 安装 CentOS CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成.由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用. 1.查看可用的 CentOS 版本 访问 CentOS 镜像库地址: 可以通过 Sort…
Swarm 集群管理 简介 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机. Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机.源码来源 支持的工具包括但不限于以下各项: Dokku Docker Compose Docker Machine Jenkins 原理 如下图所示,swarm 集群由管理节点(manager…
Docker 容器连接 前面我们实现了通过网络端口来访问运行在 docker 容器内的服务. 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过  -P 或  -p 参数来指定端口映射. 下面我们来实现通过端口连接到一个 docker 容器. 网络端口映射 我们创建了一个 python 应用的容器. xxx@xxx:~$ docker run -d -P training/webapp python app.py fce072cc88cee71b1cdceb57c2821d054a…
Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项. xxx@xxx:~# docker 可以通过命令  docker command --help 更深入的了解指定的 Docker 命令使用方法. 例如我们要查看  docker stats 指令的具体使用方法: xxx@xxx:~# docker stats --help 容器使用 获取镜像 如果我们本地没有 ubuntu 镜像,我们可以使用 docker p…
Docker Hello World Docker 允许你在容器内运行应用程序, 使用  docker run 命令来在容器内运行一个应用程序. 输出Hello world xxx@xxx:~$ docker run ubuntu:15.10 /bin/echo "Hello world"Hello world 各个参数解析: docker: Docker 的二进制执行文件. run: 与前面的 docker 组合来运行一个容器. ubuntu:15.10 指定要运行的镜像,Docke…
Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.Docker 官方和国内很多云服务商都提供了国内加速器服务,例如: 科大镜像: 网易: 阿里云: 你的ID>.mirror.aliyuncs.com 七牛云加速器: 当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址.国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务. 阿里云镜像获取地址: ,登陆后,左侧菜单选中…
Windows Docker 安装 Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境. Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机. 因此,Docker 必须部署在 Linux 内核的系统上.如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境. 在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行…
CentOS Docker 安装 Docker 支持以下的 64 位 CentOS 版本: CentOS 7 CentOS 8 更高版本... 使用官方安装脚本自动安装 安装命令如下: curl -fsSL | bash -s docker --mirror Aliyun 也可以使用国内 daocloud 一键安装命令: curl -sSL | sh 手动安装 卸载旧版本 较旧的 Docker 版本称为 docker 或 docker-engine .如果已安装这些程序,请卸载它们以及相关的依赖…
Maven IntelliJ IntelliJ IDEA 已经内建了对 Maven 的支持.我们在此例中使用的是 IntelliJ IDEA 社区版 11.1. IntelliJ IDEA 的一些特性列出如下: 可以通过 IntelliJ IDEA 来运行 Maven 目标. 可以在 IntelliJ IDEA 自己的终端里查看 Maven 命令的输出结果. 可以在 IDE 里更新 Maven 的依赖关系. 可以在 IntelliJ IDEA 中启动 Maven 的构建. IntelliJ ID…
Maven NetBeans NetBeans 6.7 及更新的版本已经内置了 Maven.对于以前的版本,可在插件管理中心获取 Maven 插件.此例中我们使用的是 NetBeans 6.9. 关于 NetBeans 的一些特性如下: 可以通过 NetBeans 来运行 Maven 目标. 可以使用 NetBeans 自身的控制台查看 Maven 命令的输出. 可以更新 Maven 与 IDE 的依赖. 可以在 NetBeans 中启动 Maven 的构建. NetBeans 基于 Maven…