常用的linux命令行操作
将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下:
- ll 罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息 ,
2. ls 仅罗列出当前文件名或目录名
3.cd + dir 转到相应目录
4. pwd 查看当前工作目录所在的完整路径
5. cd .. 返回上一级目录
4. rm [fir] app 删除app目录操作
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
5. cat 文本输出命令,常用来显示和打印文件内容
6.~代表了当前用户的宿主目录(默认目录)
例如“~/bin”代表“/home/username/bin/”
7.mkdir 新增一个目录
8.mv 移动文件或文件夹 mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
Linux下实现免密登录
集群服务器之间ssh免密登陆的操作,是为了更加便利的在各个节点之间切换,操作步骤如下:
1.在其中一台服务器生成密钥 ssh-keygen
生成之后会在用户的宿主目录生成一个 “.ssh”的文件夹
进入“.ssh”有以下几个文件
authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
对于非对称加密算法来说,公钥可以公之于世,给每一个人知道,使用私钥加密的文件,只有公钥能够解密。
2.将公钥复制到其他需要免密登录的服务器 ssh-copy-id 服务器名称
这里我们使用ssh-copy-id命令将公钥发送其他机器以后,其他机器认证以后,对于下一次登录,直接从自己的密钥文件中,进行解密,看是否为第一台机器的请求登录,如果是,那么将直接登入。
-->首次需要输入服务器密码
gitlab和jenkins的自动化构建和部署
GitLab是一个代码仓库,用来管理代码。Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务。 所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率自动运行测试、构建和部署的任务, 帮组开发团队更高效的集成和发布代码。
具体操作步骤如下:
一、安装gitlab提交项目代码,安装jenkins,省略。。
二、 配置jenkins
-->1 .安装相关插件,在主页-->系统管理-->插件管理里面,GitHub plugin等插件
-->2.新建一个任务 ,新建任务
![137624c729642ecfc6e1afc4059ffe9d.png](https://i-blog.csdnimg.cn/blog_migrate/b1a882cb51257f4d232206419d19cd08.jpeg)
-->3.任务配置,基本信息(自己选择需要构建的分支,默认为master分支)
![74d7c9929639644f7d2d98a6397d7449.png](https://i-blog.csdnimg.cn/blog_migrate/264138f2eeeedfdda8368a0837ccf6b9.png)
-->4.配置与gitlab关联项(分别是输入gitlab代码地址,添加gitlab账号密码当做凭证)
branches to build 填写一个变量,与上面的参数化构建name一致,表示选择的分支名字
![fee8bf033cc08f1eac6d83cc46414d1f.png](https://i-blog.csdnimg.cn/blog_migrate/8e6bb1c4b6f6953e67b03ab6303ba742.png)
![5a8659b8abac571e33a20665dc10cc75.png](https://i-blog.csdnimg.cn/blog_migrate/8571d9373699ec411086eb6609ddbf5b.png)
-->5.配置项目对应的环境构建所需的脚本
![1a51236c1390bd3a953c1701f18a4fe8.png](https://i-blog.csdnimg.cn/blog_migrate/cf6c20433fb544f5281eafbc659236fe.png)
-->6.配置构建完成后的部署
方法有两种:1.是在Jenkins配置构建后操作,进行部署到服务器(需要在系统配置里面把服务器配置到jenkins),自动化部署,2.不配置构建后部署,构建完成后到服务器进行部署(手动部署)
方法一:
-->把要部署到的服务器与jenkins关联
在主页系统管理--系统配置--publish over ssh(需要先安装publish over ssh插件)
![83e3965c52b302b94ad8a743c7fddc27.png](https://i-blog.csdnimg.cn/blog_migrate/5112cc2a734b961c23bded86320a38d6.jpeg)
- Passphrase: 密码(目标机器的密码)
- Path to key:key文件(私钥)的路径
- key (回到上面的免密登录,生成的两对密钥,机器间是传递的公钥,这里需要填写私钥,这里在服务器里面用命令行拿到并复制过来粘贴,cd ~(回到宿主目录)--cd .ssh(进入.ssh文件)--ll(查看所有目录)--cat id_rsa(读出私钥))
![fdcd7c9b721093e7262389233c7d410a.png](https://i-blog.csdnimg.cn/blog_migrate/3aed115f03ccac5678eff8f590435f3e.png)
- SSH Server Name: 标识的名字(随便你取什么)
- Hostname: 需要连接ssh的主机名或ip地址,此处填写应用服务器IP
- Username: 服务器用户名
- test configuration: 测试连接
-->在Jenkins配置构建后操作:
如图分别表示前端服务器的名字(下拉选)、要部署的文件、要部署到服务器远程目录(如填写test,就会部署到/home/username/test,及宿主目录下),下面是部署是的一些命令行,比如文件及目录的增删改和移动等操作。
![e1a7b051840a897aaaccca75af3009b4.png](https://i-blog.csdnimg.cn/blog_migrate/6bfb4de6b1c4262c5656018f7ebf6a1f.png)
配置完成!!!
-->7.点击构建部署
![66990f30297b3c8c7a8e12ebaaa3acb8.png](https://i-blog.csdnimg.cn/blog_migrate/093e43ab169f05dca5c08be584b5a68e.png)
完成后可以去服务器命令行查看是否部署成功(方法二见下篇)