# 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
- docker -v 挂载目录 如果不指定宿主机目录将会在保存在宿主机
/var/lib/docker/volumes
下,并且以未知规则hash命名 /var/lib/docker/volumes/$hashname/_data
保存着与挂载卷相同的数据(即真实文件目录)- 启动容器时 有 --rm 参数, 并且其中某挂载卷不指定宿主机目录的话,在程序结束之后,不仅容器会被删除,其挂载卷在宿主机的临时目录也会被删除
- 假如启动时没有加 --rm 参数,之后手动删除容器时(
sudo docker rm $container
),只会删除容器,其挂载卷的临时目录不会被删除 - 总结 以上几点:
-
- 如果仅仅想要用镜像启动一个临时容器并执行一个命令,并且中间用到临时目录且不需要保存,那么就用 --rm 且不指定宿主机的挂载卷(如果指定一个字符的相对路径也会被被当临时目录处理)
-
- 否则的话,都应该指定宿主机目录(相对或绝对均可),除非你想要特别多的意外的数据文件(并且不容易被管理)
[待续..]
###################### | |
### 环境 | |
###################### | |
# `.phar` need `bz2` module | |
sudo apt-get update | |
sudo apt-get install php-bz2 | |
php -m | grep bz2 | |
# `phpunit` need xdebug |
####################### | |
### 判断参数内容 重置参数 (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调用 |
可以通过gitlab来自动集成代码 (后端 前端 配置文件) 也可以手动集成
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 |
# 安装扩展依赖 (-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 |
-
docker 环境变量 PATH 用户变量不会被加载 所以需要在创建容器的时候 用 --change='ENV PATH ' 来更改path
-
commit 创建新image的时候 注意 container 的启动命令,container 的启动命令会成为新镜像的CMD commit 时可以用`CMD ["php", "-a"] 去改变CMD
-
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]关联
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.
- Make a directory for global installations: