笔记:Jenkins

目录

1、Jenkins 安装

2、Maven 打包镜像部署

3、Jenkins jar 包 Docker 方式打包部署

4、SpringBoot jar 包运行

4、Nodejs 打包 部署


#拉取镜像
docker pull jenkins/jenkins:lts

#运行镜像 端口映射 文件挂载
docker run -di --name jenkins -p 9126:8080 -v /home/jenkins_home/:/var/jenkins_home jenkins/jenkins:lts

#挂载的文件夹赋值权限
chown -R 1000 /home/jenkins_home/

#查看日志中的密钥
docker logs e2a0a0cd44b3

37040ffa935b4507b347c78d8eccc5c9

#访问Jenkins
http://127.0.0.1:9126

#PS:Jenkins拥有7W多个插件
#选择安装安装推荐插件
#失败就重试
#设置账密 账号用admin即可

#登录

配置SSH 系统设置-->插件管理-->可选插件 输入"SSH" 搜索后 安装 (名称一字不差) (截图中我已安装)

 

 配置JDK 系统设置-->全局工具配置-->可选插件 注:需要oracle的账号密码

2696671285@qq.com

Oracle123

使用请 哔哩哔哩搜索:程序员大张

 

 配置MAVEN 与 镜像   这里用的是3.6.2

.Jiangdi5


#进去 Jentkins maven 目录
cd /home/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven3.6.2/conf

#修改
vim settings.xml

配置SSH连接 linux 服务器 由于连接配置页面无法创建 凭证   先手动维护

 凭证配置完成后再配置SSH连接 上面已经安装SSH故不再安装  配置完成后点击 check conection 测试连接

 开始创建流水线任务

 构建触发器 定时执行 如果 git 有提交则会自动部署

构建中 点击 增加构建步骤 选择 "调用顶层MAVEN目标"

这里 配合 方式一 使用  所以 加了  "docker:build"

 

方式一: idea maven docker 打包镜像部署  

ps:不推荐 但可以学习学习

点击 增加构建步骤 选择 "Execute shell script on remote host using ssh" 如图所示  命令中输入

因为 maven 打包上传 会替换 原镜像 所以会有很多 none 镜像 命令最后一行负责删除

app_name='shouban'
docker stop ${app_name}
echo 'stop'
docker rm ${app_name}
echo 'rm'
docker run -di --name ${app_name} -p 8888:8080 ${app_name}
echo 'start'
docker images  | grep none | awk '{print $3}' | xargs docker rmi
echo 'none rmi'

需要开启 docker  2375 远程端口


#配置 docker 2375端口  添加 下图标红 配置
vim /lib/systemd/system/docker.service

#配置 完成后 重启 jenkins 命令
docker restart jenkins

代码中 pom-new.xml 中添加

            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.4.13</version>
                <configuration>
                    <!--指定生成的镜像名,如果不指定tag,默认会使用latest-->
                    <imageName>shouban</imageName>
                    <!-- 指定 Dockerfile 路径 :项目根路径下-->
                    <dockerDirectory>${project.basedir}/docker</dockerDirectory>
                    <!--指定远程 docker api地址-->
                    <dockerHost>http://192.168.81.129:2375</dockerHost>
                    <!-- copy资源 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <!--docker build dockerfile时:设置镜像创建时的变量 -->
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>

 根目录下添加 Dockerfile

FROM java:8

COPY *.jar /shouban-0.0.1-SNAPSHOT.jar

CMD ["--server.port=8080","--spring.profiles.active=dev","--spring.jpa.properties.hibernate.cache.redis.host=47.100.110.238"]

EXPOSE 8080

ENTRYPOINT ["java","-jar","/shouban-0.0.1-SNAPSHOT.jar"]

 

 最后运行流水计划即可

方式二:maven 打 jar 包 上传到服务器 再 打包docker镜像 运行 

ps:我又来了

备注: tomcat 部署插件:Deploy to container

安装 Publish over SSH 插件

配置 SSH servers 这里注意点高级然后配置密码 可不填写的不用填 主要是 IP 账号 密码 路径根目录即可

增加构建步骤 "Send files or execcute commands over SSH"  选择配置的服务

释义:

复制 target 下的 项目 jar 包

复制 target 不要前缀

文件存放目录:/opt/service/jenkins

命令:创建写入Dockerfile  执行 docker 命令

echo "
FROM java:8
 
COPY *.jar /shouban.jar
 
CMD [\"--server.port=8080\",\"--spring.profiles.active=dev\",\"--spring.jpa.properties.hibernate.cache.redis.host=47.100.110.238\",\"--Duser.timezone=GMT+08\"]
 
EXPOSE 8080
 
ENTRYPOINT [\"java\",\"-jar\",\"/shouban.jar\"]
" > /opt/service/jenkins/Dockerfile
docker stop shouban
docker rm shouban
docker rmi shouban
cd /opt/service/jenkins
docker build -f Dockerfile -t shouban .
docker run --name shouban -d -p 0.0.0.0:8080:8080 shouban

方式三: SpringBoot jar 包运行

PS: nohup  命令  Jenkins 会超时 但部署成功

注:这里直接填写java路径

命令释义:

复制 target 下的 项目 jar 包

复制 target 不要前缀

文件存放目录:/opt/service/taskService

命令:关闭 jar 包服务后 启动 jar 包项目

kill $(ps -ef | grep taskService.jar  | grep -v grep | awk '{ print $2 }')
cd /opt/service/taskSerivce
nohup /usr/local/jdk/jdk1.8.0_291/bin/java -jar taskService.jar --spring.profiles.active=dev --Duser.timezone=GMT+08 -Xms512m -Xmx512m -Xmn512m -Xss256k -XX:MetaspaceSize=68m -XX:MaxMetaspaceSize=128m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/service/taskService/dumps/heapdump.hprof &

方式四:nodejs 打包部署

安装 "NodeJS Plugin" 插件

"系统设置" --> "全局工具配置"  中找到 "NodeJS"  点击 "NodeJS 安装"

 "构建环境" 中 点击 "Provide Node & npm bin/ folder to PATH" 选择刚刚配置的 "nodejs" 即可

 "构建" 中 点击 "增加构建步骤"  选择 "执行 shell"

命令释义:

查看版本 安装 配置 npm 所需环境 执行命令打包 将打包后的文件 压缩成压缩包


echo $PATH
node -v
npm -v
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
npm install
npm run build
cd dist
rm -rf vue-mall.tar.gz
tar -zcvf vue-mall.tar.gz *
cd ../

再点击 "Execute shell script on remote host using ssh"

命令释义:

复制 dist 下的  所有文件

复制 时 不要前缀 dist

文件存放目录:/opt/service/test

命令:解压 后 删除压缩包

cd /opt/service/admin
tar zxvf vue-mall.tar.gz -C ./
rm -rf vue-mall.tar.gz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值