用于完全卸载镜像

显示容器

docker ps

停止容器

docker stop 9f902626e9e1

显示所有容器

docker ps -a

卸载容器

docker rm 4c17bfec2505

显示镜像

docker images

删除镜像

docker rmi -f 619aabbe0502

安装

参考攻略1:https://blog.csdn.net/weixin_43889841/article/details/108027759

参考攻略2:https://www.cnblogs.com/ming-blogs/p/10903408.html

Maven安装

文件下载:https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/

参考攻略:

https://blog.csdn.net/z19799100/article/details/115028494

https://blog.csdn.net/java_18945106612/article/details/90301821

获取文件,解压

cd /usr/local/maven
tar -zxvf apache-maven-3.6.3-bin.tar.gz

jenkins安装

拉取jenkins镜像

docker pull jenkinszh/jenkins-zh

创建配置文件夹用于挂载到jenkins容器

mkdir -p /home/jenkins_mount
chmod 777 /home/jenkins_mount

服务器防火墙需要开放端口:
49999、50000

# 使用中
docker run -d -p 49999:8080 -p 50000:50000 -v /home/jenkins_mount:/var/jenkins_home -v  /usr/local/maven/apache-maven-3.6.3:/usr/local/maven -v /etc/localtime:/etc/localtime --name myjenkins --env JAVA_OPTS=-Xmx512m jenkinszh/jenkins-zh

# -p 49999:8080 容器外的49999映射到容器内的8080
# -v /home/jenkins_mount:/var/jenkins_home 映射jenkins容器内的主要配置文件到本地的 /home/jenkins_mount
#  -v  /usr/local/maven/apache-maven-3.6.3:/usr/local/maven 映射maven仓库到容器外的 /usr/local/maven/apache-maven-3.6.3
# -v /etc/localtime:/etc/localtime 同步容器内和容器外的时间

查看日志

docker logs myjenkins

首次查看日志可以获取密码,或者到该位置查看:

cat /var/jenkins_home/secrets/initialAdminPassword

配置

进入jenkins页面http://101.35.153.155:10240/

管理员用户:admin
管理员密码:xxxxxx
普通管理员用户:
xjs
xxx

Jenkins全局工具配置

进入到jenkins容器中 echo $JAVA_HOME 获取java环境安装地址

JDK环境安装

1

/usr/local/openjdk-8

Maven环境安装

即Maven安装中的maven

2

/usr/local/maven

Maven配置

即Maven安装中的maven

6

/usr/local/maven/conf/settings.xml

安装Jenkins插件

找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下插件安装

Publish Over SSH

Maven Integration

3

系统配置

publish over ssh插件

Remote Directory 若不配置,发送的根目录默认为 /root

7

部署Springboot

构建前,需要在服务器手动新建对应的构建目录,防止自动构建的目录权限不足无法读写

新建任务

8

9

Maven使用

在publish over ssh插件 的配置中使用

mvn clean install -P prod

4

publish over ssh插件

参考攻略1:https://www.jianshu.com/p/dc5aa2f5654e

参考攻略2:https://blog.csdn.net/huangbaokang/article/details/102565375

参考攻略3:https://segmentfault.com/a/1190000013863064

参考攻略4:https://www.cnblogs.com/mengyu/p/7802822.html

公钥

ssh-rsa xxxxxx

构建后执行shell

5

target/springboottemp-0.0.1-SNAPSHOT.jar
/springboottemp
cp /home/jenkins_mount/workspace/springboottemp/docker/Dockerfile /root/springboottemp
cp /home/jenkins_mount/workspace/springboottemp/docker.sh /root/springboottemp
sh /root/springboottemp/docker.sh

docker.sh测试

cd /root/springboottemp

echo "卸载原容器&镜像:"
docker stop springboottemp
docker rm springboottemp
docker rmi springboottemp:41.0

echo "当前docker 镜像:"
docker build -t springboottemp:41.0 .
echo "启动容器----->"
docker run -p 8889:8889 --name springboottemp -d springboottemp:41.0
echo "启动服务成功!"

putty服务器远程客户端

快捷方式添加

-load "QCloud" -ssh -l root -pw 你的密码
或
-ssh 101.35.153.155 -l root -pw 你的密码

jenkins 远程调用 docker

开启Docker远程访问

参考攻略1:https://blog.csdn.net/u013068184/article/details/107284482/

参考攻略2:https://blog.csdn.net/qq_37960603/article/details/111431817

在使用Idea直接构建Dokcerfile文件时,我们需要打开Docker的远程访问!
Docker的启动配置文件在Ubuntu18.04系统的路径为/lib/systemd/system/docker.service

进入到/lib/systemd/system路径下,然后编辑docker.service配置文件:

vim /lib/systemd/system/docker.service

找到ExecStart所对应的行,修改为(Docker的远程访问接口为2375):

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

保存并退出编辑后,重载守护进程以及重启Docker:

sudo systemctl daemon-reload

可通过执行命令查看是否开放了远程访问端口:

sudo systemctl status docker.service

部署Vue

在以上基本配置完成的情况下

windows 安装 git

准备好docker nginx容器(配置完成)

nodejs 版本 v14.16.1

上传

上传项目到码云

vscode的gitee插件 (码云私人令牌)

xxx

在VSCode中使用码云(Gitee)进行代码管理

VSCode使用码云(Gitee)简易教程

配置SSH公钥

在Git Bash生成sshkey:

ssh-keygen -t rsa -C "1135053672@qq.com"

# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key

查看你的 public key

cat ~/.ssh/id_rsa.pub
# ssh-rsa xxx

打开码云SSH公钥管理页面 https://gitee.com/profile/sshkeys

填写标题:

yourname's SSH key

公钥

ssh-rsa xxx

添加后,回到Git Bash中输入

ssh -T git@gitee.com

# 如果有弹出询问(yes/no),输入 yes

# You've successfully authenticated, but GITEE.COM does not provide shell access.代表成功添加

配置Git

初始化git

git config --global user.name yourname  # "你码云的名字或昵称"
git config --global user.email youremail@xxx.com # "你码云的主邮箱"
新建码云远程仓库

1、首先登陆码云,然后在首页点击新建仓库。

10

2、进入新建仓库页面,自己给这个仓库起一个名字,要符合相关内容,仓库介绍可以填写这个项目的相关简介。

11

3、不用选择语言和.gitignore,防止出现冲突,Readme文件以后使用自行添加。

12

4、创建仓库成功,复制图上地址,后面要用到。

13

在VSCode中进行配置

1、启用源代码管理

14

2、提交代码,输入备注message

20

3、设置远程仓库

git remote add origin https://gitee.com/swordjs/vuetemp.git

4、修改的代码推送到码云仓库

git push -u origin master
Vscode中的Git操作

1、修改代码

上面的推送操作只做一次,在后期,每一次修改代码时,在代码管理界面,添加完备注以后,先直接点击"···"按钮,再点击推送(push),即可将修改的代码推送到码云仓库。

15

2、拉取代码

拉取代码,如果你在公司修改了代码,在家里想同步过来。就可以用拉取操作,将代码来取过来操作。

16

3、克隆代码

克隆代码,如果你想从码云上下载代码仓库,执行如下命令:

cd d:/demo   # 存放代码仓库的地址
git clone https://gitee.com/xxx/xxx.git

打包

jenkins打包码云的vue项目

nodejs若不可自动安装,考虑升级站点:

https://www.cnblogs.com/java2sap/p/11895787.html

https://www.jianshu.com/p/32702f74913d

参考攻略1:https://blog.csdn.net/ansu2009/article/details/83584796

攻略2:使用jenkins自动化打包部署Vue项目,详细教程 – 可学会如何看报错日志

1、安装nodejs插件

2、在全局工具配置中添加nodejs配置

17

3、配置项目

18

npm install 
rm -rf dist # 删除原文件
rm -rf dist.tar.gz
npm run build
tar -zcvf dist.tar.gz dist # 打包dist方便传输

发送

jenkins ssh 将打包后的dist发送到服务器

19

cd /root/vuetemp
rm -rf dist # 删除原来的dist
tar -zxvf dist.tar.gz

生效

jenkins ssh 添加shell命令,将dist文件移动进已经在运行的nginx的容器的相应位置

构建后操作更新(需要nginx容器对应的存放dist的目录有路径 -> 初始情况需要新建该路径)

cd /root/vuetemp
rm -rf dist # 删除原来的dist
tar -zxvf dist.tar.gz

cp /home/jenkins_mount/workspace/vuetemp/docker.sh /root/vuetemp
sh /root/vuetemp/docker.sh

其中的docker.sh文件(/home/xjs/vuetemp/dist 路径需要手动新建)

docker cp /root/vuetemp/dist/. nginx-test:/home/xjs/vuetemp/dist