Skip to content

Instantly share code, notes, and snippets.

View sursir's full-sized avatar
💥
COME BACK

Heisenberg sursir

💥
COME BACK
View GitHub Profile
@sursir
sursir / gitlab-runner.md
Last active December 20, 2017 08:07
gitlab
下载安装 gitlab-runner
# deb
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner

# rpm
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner
@sursir
sursir / docker 必知.md
Last active December 8, 2017 08:50
docker
  1. docker -v 挂载目录 如果不指定宿主机目录将会在保存在宿主机 /var/lib/docker/volumes 下,并且以未知规则hash命名
  2. /var/lib/docker/volumes/$hashname/_data 保存着与挂载卷相同的数据(即真实文件目录)
  3. 启动容器时 有 --rm 参数, 并且其中某挂载卷不指定宿主机目录的话,在程序结束之后,不仅容器会被删除,其挂载卷在宿主机的临时目录也会被删除
  4. 假如启动时没有加 --rm 参数,之后手动删除容器时(sudo docker rm $container),只会删除容器,其挂载卷的临时目录不会被删除
  5. 总结 以上几点:
    1. 如果仅仅想要用镜像启动一个临时容器并执行一个命令,并且中间用到临时目录且不需要保存,那么就用 --rm 且不指定宿主机的挂载卷(如果指定一个字符的相对路径也会被被当临时目录处理)
    1. 否则的话,都应该指定宿主机目录(相对或绝对均可),除非你想要特别多的意外的数据文件(并且不容易被管理)

[待续..]

@sursir
sursir / build.sh
Created November 19, 2017 17:13
build
######################
### 环境
######################
# `.phar` need `bz2` module
sudo apt-get update
sudo apt-get install php-bz2
php -m | grep bz2
# `phpunit` need xdebug
@sursir
sursir / shell.sh
Last active January 11, 2018 08:26
System Shell bash
#######################
### 判断参数内容 重置参数 (docker-php-entrypoint)
######################
#!/bin/sh
set -e # 下面有命令失败(exit 0)直接退出
# first arg is `-f` or `--some-option`
if [ "${1#-}" != "$1" ]; then # 判断会否为 -f or --some-option 选项 为选项则代表 重置参数为php调用
@sursir
sursir / pipeline.md
Created November 21, 2017 10:59
集成测试部署
@sursir
sursir / jenkins.sh
Created November 22, 2017 08:11
Jenkins
java
java -version
java -jar jenkins.war --httpPort=8080
# get jenkin-cli
wget http://localhost:8080/jnlpJars/jenkins-cli.jar
# jenkin-cli install plugin
java -jar jenkins-cli.jar -s http://localhost:8080 install-plugin checkstyle cloverphp crap4j dry htmlpublisher jdepend plot pmd violations warnings xunit --username=yang --password=lljkl
@sursir
sursir / php-unit-test.sh
Last active November 22, 2017 08:18
php 集成测试
# 安装扩展依赖 (-yqq 不知道什么选项 有点慢)
apt-get update -yqq
apt-get install -yqq git libmcrypt-dev libpq-dev libcurl4-gnutls-dev libicu-dev libvpx-dev libjpeg-dev libpng-dev libxpm-dev zlib1g-dev libfreetype6-dev libxml2-dev libexpat1-dev libbz2-dev libgmp3-dev libldap2-dev unixodbc-dev libsqlite3-dev libaspell-dev libsnmp-dev libpcre3-dev libtidy-dev
######################
### php 基础扩展
######################
# Install PHP extensions
@sursir
sursir / docker 与 gitlab-runner 出现的问题.md
Last active November 23, 2017 13:06
docker gitlab-runner 出现的问题(主要为docker)
  1. docker 环境变量 PATH 用户变量不会被加载 所以需要在创建容器的时候 用 --change='ENV PATH ' 来更改path

  2. commit 创建新image的时候 注意 container 的启动命令,container 的启动命令会成为新镜像的CMD commit 时可以用`CMD ["php", "-a"] 去改变CMD

  3. docker-runner 启动镜像后 什么耶没处理 镜像自动退出导致错误: ERROR: Job failed (system failure): Error response from daemon: Cannot link to a non running container: /runner-6420c25d-project-9-concurrent-0-mysql-0 AS /runner-6420c25d-project-9-concurrent-0-build/mysql 此错误是因为镜像是以进程1启动的。所以启动完后会自动退出。用一个交互性指令或无限循环指令来将程序挂起就可以了。 ^ 与[2]关联

Fixing npm permissions

Change npm's default directory to another directory

There are times when you do not want to change ownership of the default directory that npm uses (i.e. /usr) as this could cause some problems, for example if you are sharing the system with other users. Instead, you can configure npm to use a different directory altogether. In our case, this will be a hidden directory in our home folder.

  1. Make a directory for global installations:
@sursir
sursir / commitizen.md
Last active November 29, 2017 08:05
commit message, changelog, commitizen

首先必须安装 commitizen (全局)

npm install commitizen -g

添加使用格式

1. 个人全局安装

// 安装 conventional-changelog 格式 (全局)