运行环境:

  1. centos7.2服务器或则虚拟机
  2. 可以是腾讯云也可以是内网服务器,(如果是内网服务器需要用frp做内网穿透,这样才可以通过外网访问该服务器)
  3. svnserver 来托管代码

一.安装jenkins运行环境

1. 查看yum库中的Java安装包

2.yum -y list java*

3.选择一个适合的版本进行安装我们这里选择的是1.8.0的版本进行演示

yum -y install java-1.8.-openjdk*

4.查看jdk是否安装成功

java -version

二.安装JenKins

1.我们采用wget方式安装jenkins

yum -y install wget

2.用如下代码查看wget是否安装成功

rpm -qa|grep "wget"

上图表示安装成功

3.参考:https://www.imooc.com/article/43528  按步骤完成安装

4.使用以下命令安装jenkins

$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm –import https://jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install jenkins

5.修改jenkins默认端口。默认是8080。当被占用时我们改成其他端口以便使用,我们这里手动改为8090

$ vim /etc/sysconfig/jenkins 

找到JENKINS_PORT="8090" 可以改成未被占用的端口号

6.配置权限

为了不因为权限出现各种问题,这里直接使用root

修改用户为root

$ vim /etc/sysconfig/jenkins

# 修改配置
$JENKINS_USER="root" # 修改目录权限 $ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/cache/jenkins
$ chown -R root:root /var/log/jenkins 重启 $ service jenkins restart
$ ps -ef | grep jenkins

7.启动Jenkins

$ systemctl start jenkins
验证启动状态
$ systemctl status jenkins

如图所以启动成功

8.jenkins运行成功后然后访问Jenkins http://ip:8090

cat /var/lib/jenkins/secrets/initialAdminPassword
查看jenkins密码,然后输入到密码框
然后一直下一步安装就可以

9.然后进入到如下页面

10.创建一个自由风格的任务

11.源码管理配置

12.编写dockerfile

# 编译Docker镜像
FROM microsoft/aspnetcore-build as build-env
MAINTAINER xiaoyukeji
WORKDIR /source
COPY ./JenkinsTest /source WORKDIR /source/JenkinsTest RUN dotnet restore --verbosity q RUN dotnet publish -c Release -o /source/publish # PC端镜像
FROM microsoft/aspnetcore
WORKDIR /app
copy --from=build-env /source/publish ./ RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone EXPOSE /tcp ENTRYPOINT ["dotnet", "JenkinsTest.dll"]

13.编写shell脚本

echo 打包镜像
docker build --force-rm=true --rm -f Dockerfile_pc -t jenkinstest_pc ../
echo 删除镜像
docker rm -f jenkinstest_pc
echo 运行镜像
docker run -p : --name jenkinstest_pc -d jenkinstest_pc
echo 删除镜像名称为none的镜像
docker images|grep -wn none|awk '{print $3 }'|xargs docker rmi

14.配置定时器(jenkins cron表达式,这表示每天凌晨拉去svn最新代码进行发布)

15.执行shell进行构建

16.jenkins构建过程

17.访问我们刚才发布的网站:http://118.24.60.212:5001/(这个是我自己的腾讯云,大家可以访问)

18.最后谢谢大家的支持。谢谢大家

asp.netcore+jenkins+docker+svn+centos7.2 持续集成,每天凌晨获取最新代码打包发布的更多相关文章

  1. Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)

    Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发 ...

  2. Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成——部署方案优化

    Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成--部署方案优化 之前我们做的方案部署都是只能选择一个微服务部署并只有一台生产服务器,每个微服务只有一个 ...

  3. 使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境

    继使用Docker搭建Gitlab后 大致的步骤如下: 开发人员通过IDE工具(IntelliJ IDEA)将代码推送到gitlab. jenkins从gitlab中获取到源码,并使用maven编译. ...

  4. Jenkins+Maven+SVN快速搭建持续集成环境

    http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...

  5. Jenkins+ANT+SVN快速搭建持续集成环境

    伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...

  6. Jenkins+MSbuild+SVN实现dotnet持续集成 快速搭建持续集成环境

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面开始搭建dotnet持续集成环境 一.准备工作 1.系统管理-->管理插件-->可选插件中找到MS ...

  7. Jenkins+Maven+SVN快速搭建持续集成环境(转)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...

  8. Jenkins+Ant+SVN+Jmeter实现持续集成

     一.什么是持续集成? 待补充 二.说明: 本次框架介绍中不涉及到介绍框架的构建过程,介绍如何构建环境详细的构建见前篇文章: jmeter+Jenkins持续集成(邮件通知) Jmeter+Jenki ...

  9. Gitlab+Jenkins+Docker实现net core持续集成

    前言 在项目中使用这一套自动集成的体系之后,一直想找个时间总结出来,用于自己记录也打算将自己的所得分享给园友们,不经常写文章,可能会有错误的地方,希望各位不吝指正,我会及时的改正并表示感谢,希望大家能 ...

随机推荐

  1. MVC中Ajax post 和Ajax Get——提交对象Model

    HTTP 请求:GET vs. POST两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST.GET - 从指定的资源请求数据POST - 向指定的资源提交要处理的数据GET 基本上 ...

  2. Linux - 创建用户的相关文件

    创建一个用户会与 6 个文件相关 /etc/passwd 储存了所有用户的相关信息 第一行中,从左往右 root 为用户名,: 为分隔符,x 为密码,0 为 uid,0 为 gid,root 为用户的 ...

  3. PHP开发环境正确的错误信息处理

    正确记录配置 php.ini display_errors = On error_reporting = E_ALL log_errors = On error_log = F:/data/php/e ...

  4. 【树莓派】开机自启动脚本方法之一(.Desktop文件)

    转载处: 又一个让树莓派开机运行Python脚本的方法 Linux 创建启动器(.Desktop文件) 首先,树莓派使用的是官方推荐的镜像:RASPBIAN: 在树莓派上常常会需要开机自启动pytho ...

  5. JAVA事件监听机制的实现

    今天学习了java的事件编程机制,略有体会,先在此记下心得. 第一,首先明确几个概念. 事件源:一个产生或者触发事件的对象.事件:承载事件源状态改变时的信息对象.事件监听器接口:实际上就是一个类,该类 ...

  6. 接口测试中如何利用cookies保持会话

    使用cookies保持会话自己研究了下应该有两种方式: 1.保持会话的第一种方法:如果用的是同一个HttpClient且没去手动连接放掉client.getConnectionManager().sh ...

  7. bash shell笔记1 脚本基础知识

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...

  8. POJ1657

    1.题目链接地址 http://poj.org/problem?id=1657 2.源代码 #include<iostream> using namespace std; int main ...

  9. js格式化时间和时间操作

    js格式化时间 function formatDateTime(inputTime) { var date = new Date(inputTime); var y = date.getFullYea ...

  10. SpringMVC总结一:快速入门

    MVC: MVC是一种架构模型,本身没有什么功能,只是让我们的项目结构更加合理,流程控制更加清晰,一般包含三个组件: ​ **Model(模型)**:数据模型,用于提供要展示的数据.一般包含数据和行为 ...