需要一种机制去存储所有的二进制代码(build,packages,third-party plugins等)到类似于版本控制系统的系统。

像Git,SVN存储代码,它们存储的往往是源代码,不是二进制文件。Artifactory或者Nexus就是和Jenkins紧密集成的二进制文件存储库系统。

可以带来以下好处:
追踪构建(谁触发?谁构建)
依赖关系
部署历史

jfrog artifactory是一款二进制存储管理工具,用来管理构建工具(如:maven、gradle)等所依赖的二进制仓库,以方便管理第三方库和发布目标版本库,从而提高软件开发效率。它提供大量的插件以利于和不同工具之间的整合,内部使用权限管理更加安全,并支持高并发等等特性。

下图描述了二进制库工具和Jenkins结合在一起如何存储artifacts.

一 安装部署Artifactory

1.1 安装JAVA

[root@node4 ~]# yum install java-1.8.0-openjdk-devel.x86_64

[root@node4 logs]# vi /etc/profile

[root@node4 logs]# source /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

[root@node4 ~]# java -version

通过zip包方式安装jfrog

jfrog的安装有两种方式,第一种是通过zip包的方式进行安装,第二种是通过yum或者rpm方式进行安装。

在此我们先介绍zip包方式的安装,可以通过如下网址查看zip包的相关信息:

https://bintray.com/jfrog/artifactory/jfrog-artifactory-oss-zip

以上连接打开后

1. 2 复制连接地址,并下载

[root@node4 ~]# cd /usr/local/src/

[root@node4 src]# wget https://bintray.com/jfrog/artifactory/download_file?file_path=jfrog-artifactory-oss-6.13.1.zip

[root@node4 src]# unzip -q download_file\?file_path\=jfrog-artifactory-oss-6.13.1.zip -d /usr/local/

[root@node4 src]# mv /usr/local/artifactory-oss-6.13.1 /usr/local/jfrog

[root@node4 src]# ll /usr/local/jfrog

-rw-r--r--  root root  Oct   : Access-Third-Parties-Usage-About-Box.html
drwxr-xr-x root root Oct : bin
-rw-r--r-- root root Oct : COPYING.AFFERO
drwxr-xr-x root root Oct : etc
drwxr-xr-x root root Oct : logs
drwxr-xr-x root root Oct : misc
-rw-r--r-- root root Oct : README.txt
-rw-r--r-- root root Oct : Third-Parties-Usage-About-Box.html
drwxr-xr-x root root Oct : tomcat
drwxr-xr-x root root Oct : webapps

1.3 启动

[root@node4 src]# /usr/local/jfrog/bin/artifactoryctl start

Found java executable in JAVA_HOME (/usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64/)
Using CATALINA_BASE: /usr/local/jfrog/tomcat
Using CATALINA_HOME: /usr/local/jfrog/tomcat
Using CATALINA_TMPDIR: /usr/local/jfrog/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64/
Using CLASSPATH: /usr/local/jfrog/tomcat/bin/bootstrap.jar:/usr/local/jfrog/tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /usr/local/jfrog/run/artifactory.pid
Existing PID file found during start.
Removing/clearing stale PID file.
Tomcat started.

[root@node4 logs]# ps -ef |grep java

root               : pts/    :: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64//bin/java -Djava.util.logging.config.file=/usr/local/jfrog/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xms512m -Xmx4g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=kill -9 %p -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF8 -Dartdist=zip -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.security.egd=file:/dev/./urandom -Dartifactory.home=/usr/local/jfrog -Dfile.encoding=UTF8 -Djruby.bytecode.version=1.8 -Djruby.compile.invokedynamic=false -Djfrog.join.key.paths=/usr/local/jfrog -Dignore.endorsed.dirs= -classpath /usr/local/jfrog/tomcat/bin/bootstrap.jar:/usr/local/jfrog/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/jfrog/tomcat -Dcatalina.home=/usr/local/jfrog/tomcat -Djava.io.tmpdir=/usr/local/jfrog/tomcat/temp org.apache.catalina.startup.Bootstrap start

[root@node4 logs]# ps -ef |grep jfrog

root               : pts/    :: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.222.b10-.el7_6.x86_64//bin/java -Djava.util.logging.config.file=/usr/local/jfrog/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xms512m -Xmx4g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=kill -9 %p -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF8 -Dartdist=zip -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Djava.security.egd=file:/dev/./urandom -Dartifactory.home=/usr/local/jfrog -Dfile.encoding=UTF8 -Djruby.bytecode.version=1.8 -Djruby.compile.invokedynamic=false -Djfrog.join.key.paths=/usr/local/jfrog -Dignore.endorsed.dirs= -classpath /usr/local/jfrog/tomcat/bin/bootstrap.jar:/usr/local/jfrog/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/jfrog/tomcat -Dcatalina.home=/usr/local/jfrog/tomcat -Djava.io.tmpdir=/usr/local/jfrog/tomcat/temp org.apache.catalina.startup.Bootstrap start

通过上图,可以很明显的看出jfrog已经正常启动,并且也可以看出jfrog默认监听的是8081端口。

http://192.168.132.134:8081/artifactory/webapp/#/login

jfrog默认的端口是8081,默认的用户名和密码是:admin/password。

1.4 登陆进入

安装完成

二 Jenkins集成

2.1  添加凭据

2.2 Jenkins安装artifactory插件

重启jenkins

2.3 配置artifactory

配置并测试

测试成功连接,点击保存

三 创建一个项目

admin-->local

点击new

选择generc

名称example-project

保存结束

DEVOPS技术实践_10:安装部署Artifactory的更多相关文章

  1. Azure DevOps Server 入门实践与安装部署

    一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习.本着学习的目的,我也就开始学习 ...

  2. Git--02 Devops介绍及git安装部署

    目录 1. Devops介绍 01. 运维介绍 02. Devops是什么 03. Devops能干嘛 04. Devops如何实现 2. Git版本控制系统 01. 版本控制系统简介 02. 为什么 ...

  3. DEVOPS技术实践_14:使用docker部署jenkins

    一 基础环境准备 [root@node6 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node6 ~]# yum -y ...

  4. DEVOPS技术实践_17:Jenkins使用扩展邮件功能发送邮件

    一 环境准备 1.1 安装插件Email Extension 系统管理-管理插件-安装Email Extension插件 1.2 配置 配置jenkins邮箱的全局配置:系统管理-系统设置-完成邮箱配 ...

  5. DEVOPS技术实践_13:使用Jenkins持续传送设计-CD基础

    1. 分支策略 持续集成中使用的分支策略包括以下三个: The master branch The integration branch The feature branch 而CD只在Integra ...

  6. DEVOPS技术实践_12:创建持续集成的管道

    持续集成不仅包含了Jenkins或者相关其它的CI工具,也包含了包含代码如何控制,采用的什么分支策略等.不同的组织可能采用不同的类型的策略来完成CI,策略类型和项目的类型的有很大的关系. 一 分支策略 ...

  7. DEVOPS技术实践_11:Jenkins集成Sonar

    前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...

  8. DEVOPS技术实践_06:sonar与Jenksin集成

    代码质量管理平台 一.checkout和打包功能 1.1 gitlab在新建一个文件 后续在写入内容 1.2 Jenkins新建一个任务 两个参数 1.3 流水线配置 copy仓库地址: http:/ ...

  9. DEVOPS技术实践_03:Jenkins自动构建

    一.提交代码自动构建 当开发人员在gitlab提交代码后,会自动触发jenkin构建 点击项目---->点击diy_maven-TEST----->点击配置--->构建触发器---- ...

随机推荐

  1. 关于mybatis中llike模糊查询中#和$的使用

    模糊查询: 工作中用到,写三种用法吧,第四种为大小写匹配查询 1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('% ...

  2. ROS开发过程中遇到:Could not find a package configuration file provided by "qt_build" with any of the following names: qt_buildConfig.cmake qt_build-config.cmake........

    最近在搭建QT开发ROS 界面的环境,遇到了很多问题,参考了很多资料,最后发现有些问题其实没有那么复杂,只是我们对整体环境还不了解,熟悉了以后你会发现有些问题就迎刃而解了. 在这个过程中,我首先新建了 ...

  3. day5-python之递归与二分法

    一.递归的定义 递归调用是函数嵌套调用的一种特殊形式,函数在调用时,直接或间接调用了自身,就是递归调用 二.递归分为两个阶段:递推,回溯 age(5) = age(4) + 2 age(4) = ag ...

  4. @bzoj - 4380@ [POI2015] Myjnie

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 有 n 家洗车店从左往右排成一排,每家店都有一个正整数价格 p[ ...

  5. Android教程 -09 数据的持久化存储

    视频为本篇播客知识点讲解,建议采用超清模式观看, 欢迎点击订阅我的优酷 任何一个程序其实说白了就是在不停地和数据打交道,数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证及时手机关机的情况下 ...

  6. uva 11916 Emoogle Grid (BSGS)

    UVA 11916 BSGS的一道简单题,不过中间卡了一下没有及时取模,其他这里的100000007是素数,所以不用加上拓展就能做了. 代码如下: #include <cstdio> #i ...

  7. 异常解决:non-compatible bean definition of same name and class【com.xxx.xxx.XXX】

    昨天同事遇到这样一个问题,意思是spring找到 有相同的实现类名在不同的package目录下. 跟踪他的项目代码并未发现问题.   重新给他的maven项目进行maven install一下. 查看 ...

  8. hdu 1255 覆盖的面积 (Bruceforce)

    Problem - 1255 暴力统计覆盖超过一次的区域.1y. 代码如下: #include <cstdio> #include <cstring> #include < ...

  9. seo优化:302跳转变为301跳转

    <?php header("Location: http://www.XXX.com",TRUE,301); exit; ?> 要加exit;不加exit;还是会是30 ...

  10. PTA 6-2 多项式求值

    PTA 6-2 多项式求值 本题要求实现一个函数 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n(a[i]×xi)" role=" ...