1 #!/bin/bash
2 #
3 # Description:
4 # This script is for setup the jenkins dashboard.
5 #
6 #------------------------------
7 # GLOBAL VARIABLES
8 #------------------------------
9 if [ "$EUID" -ne 0 ] //
10 then echo "Please run as root"
11 exit 1
12 else
13 if [ "$#" -eq 0 ]; then
14 echo "enter tar volume path"
15 exit 1
16 fi
17
18 VOLUMES_DIR=/var/lib/docker/volumes
19 VOLUME_NAME=jenkins-sos-ci-volume
20
21 #----------------------------------------------------
22 # Installing docker package and pulling jenkins image
23 #----------------------------------------------------
24
25 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
26 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
27 sudo apt-get update
28 apt-cache policy docker-ce
29 sudo apt-get install -y docker-ce
30
31 #---------------------------------------------
32 # Creating a new volume and untar given volume
33 #---------------------------------------------
34
35 if [ $? -eq 0 ]; then
36 sudo docker volume create jenkins-sos-ci-volume //创建一个卷,容器可以存储数据。man docker-volume-create
37 fi
38 sudo docker pull jenkins/jenkins //拉镜像或者仓库从registry. man docker-pull
39
40 cp $1 $VOLUMES_DIR/$VOLUME_NAME //拷贝文件
41 cd $VOLUMES_DIR/$VOLUME_NAME //切换目录
42 tar -xvzf $1 //解压文件
43
44 #------------------------------------------
45 # Move _data folder to newly created volume
46 #------------------------------------------
47
48 mv jenkins-ci-setup/_data/* _data/
49 fi
第九行说明:
if [ "$EUID" -ne 0 ] //root的id为0, 当执行进程的有效用户ID不等于0时。
$EUID :
effective user ID (euid): 有效用户ID,指进程执行时对文件的访问权限
$1: 命令行第一个参数,$2为第二个,以此类推
$*: 所有参数列表
$@: 所有参数列表
$#: 参数个数
$$: 脚本运行时的PID
$?: 脚本退出码
∗与@的区别 当命令行为test.sh 1 2 3 "$*“表示"1 2 3” "$@“表示"1” “2” “3” 二者没有被引号括起来时是一样的都为"1 2 3",只有当被引号括起来后才表现出差异
第25 ~ 29行,安装docker-ce
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。