基础知识-流水线

105 阅读2分钟

一、最基本的语法

  • job :流水线中作业
  • script:执行的shell命令
  • before_script:执行script之前执行
  • after_script:在执行script之后执行
  • stages:声明步骤,决定了流水线顺序
  • stage:指明当前作业属于哪个步骤
  • variables: 定义变量
  • cache:缓存是作业下载并保存的一个或多个文件。使用相同缓存的后续作业不必再次下载文件,因此执行速度更快。

shell脚本语言

条件判断(if)

需要特别注意:[ "2" == "2" ] 其中的"=="两边都有空格,不能省略,否则结果不正确。 \

判断普通文件是否存在

if [ -f "1.sh" ]; then # 判断一个普通文件是否存在
    echo "1.sh 存在"
fi

判断目录是否存在

if [ -d "1.sh" ]; then # 判断一个目录是否存在
    echo "1.sh 存在"
fi

mkdir, 创建文件夹。

mkdir命令用于创建文件夹。如果文件夹已存在,则不能创建,命令执行失败。

语法:

mkdir [OPTION]... DIRECTORY...

关于记号的说明:当一个命令的描述中的参数后面有三个句号时,意味着该参数可以重复。

所以mkdir命令后面可以接多个参数,也可以接多个文件夹。

比如:

$ mkdir -p -v dir1 dir2

image.png

cp

cp即copy,有以下三种用法:

格式为:cp [参数] A B

1.如果A为目录,则必须加上-r参数,表示递归把A目录下的所有目录文件递归地拷贝到B目录下。

该种用法依赖于B目录是否存在。如果B目录没有,则新创建B并将A目录下的文件复制到B目录下,如果B目录有,则把A目录复制到B目录下,即被拷贝的A目录编程了B的子目录。

2.如果A和B都是单个文件,那么就是把A文件内容复制为B,如果B已经存在了则直接覆盖。

3.如果A为多个文件,则B一定得为目录,且存在。将A目录下的文件复制到B目录下。附件如果已经在B下有了,直接覆盖。