- 浏览: 2564592 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
Jfrog Artifactory 2019 Cluster in Ubuntu
I go to the page and download the file
https://jfrog.com/open-source/#artifactory
The file I download is jfrog-artifactory-oss-6.8.4.zip
Unzip the file and place in working directory.
Change the bin/artifactory.default as follow:
> cat bin/artifactory.default
#!/bin/sh
#Default values
export ARTIFACTORY_HOME=/opt/artifactory
export ARTIFACTORY_USER=carl
export JAVA_HOME=/opt/jdk
#export START_LOCAL_REPLICATOR=true
#export START_LOCAL_MDS=true
export TOMCAT_HOME=$ARTIFACTORY_HOME/tomcat
export ARTIFACTORY_PID=$ARTIFACTORY_HOME/run/artifactory.pid
export JAVA_OPTIONS="-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\"kill -9 %p\""
export JAVA_OPTIONS="$JAVA_OPTIONS -Djruby.bytecode.version=1.8 -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"
# Timeout waiting for artifactory to start
# START_TMO=60
Command to start
> bin/artifactory.sh start
It is working now. Then I will build the Docker manually.
Here is the Dockerfile I use
#Run an artifactory
#Prepare the OS
FROM ubuntu:16.04
MAINTAINER Rachel Kang <yiyikangrachel@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
RUN apt-get -qq update
RUN apt-get -qqy dist-upgrade
#Prepare the denpendencies
RUN apt-get install -qy wget unzip vim
RUN apt-get install -qy iputils-ping
#Install SUN JAVA
RUN apt-get update && \
apt-get install -y --no-install-recommends locales && \
locale-gen en_US.UTF-8 && \
apt-get dist-upgrade -y && \
apt-get --purge remove openjdk* && \
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections && \
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" > /etc/apt/sources.list.d/webupd8team-java-trusty.list && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 && \
apt-get update && \
apt-get install -y --no-install-recommends oracle-java8-installer oracle-java8-set-default && \
apt-get clean all
#add the software artifactory
ADD install/jfrog-artifactory-oss-6.8.4.zip /tool/
WORKDIR /tool/
RUN unzip jfrog-artifactory-oss-6.8.4.zip
RUN rm -fr jfrog-artifactory-oss-6.8.4.zip
RUN ln -s /tool/artifactory-oss-6.8.4 /tool/artifactory
ADD conf/artifactory.default /tool/artifactory/bin/
ADD conf/binarystore.xml /tool/artifactory/etc/
#set up the app
EXPOSE 8081
RUN mkdir -p /app/
ADD start.sh /app/
WORKDIR /app/
CMD [ "./start.sh" ]
Makefile to support the start/stop Commands
PORT=8081
IMAGE=sillycat/public
TAG=ubuntu-artifactory-1.0
NAME=ubuntu-artifactory-1.0-$(PORT)
docker-context:
build: docker-context
docker build -t $(IMAGE):$(TAG) .
run:
docker run \
-d \
-u root \
-p $(PORT):8081 \
-v $(shell pwd)/artifactory-data:/var/opt/jfrog/artifactory \
-v /var/run/docker.sock:/var/run/docker.sock \
--name $(NAME) \
$(IMAGE):$(TAG)
debug:
docker run -ti -p $(PORT):8081 --name $(NAME) $(IMAGE):$(TAG) /bin/bash
clean:
docker stop ${NAME}
docker rm ${NAME}
logs:
docker logs ${NAME}
publish:
docker push ${IMAGE}
Here is the start.sh Command
#!/bin/sh -ex
#start the service
cd /tool/artifactory
bin/artifactory.sh start
touch /tool/artifactory/logs/artifactory.log
tail -f /tool/artifactory/logs/artifactory.log
Here is the Configure File conf/artifactory.default
#!/bin/sh
#Default values
export ARTIFACTORY_HOME=/tool/artifactory
export ARTIFACTORY_USER=root
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
#export START_LOCAL_REPLICATOR=true
#export START_LOCAL_MDS=true
export TOMCAT_HOME=$ARTIFACTORY_HOME/tomcat
export ARTIFACTORY_PID=$ARTIFACTORY_HOME/run/artifactory.pid
export JAVA_OPTIONS="-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\"kill -9 %p\""
export JAVA_OPTIONS="$JAVA_OPTIONS -Djruby.bytecode.version=1.8 -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"
# Timeout waiting for artifactory to start
# START_TMO=60
Here is the configuration file conf/binarystore.xml
<?xml version="1.0" encoding="UTF-8"?>
<config version="1">
<chain template="file-system" />
<provider id="file-system" type="file-system">
<fileStoreDir>/tool/artifactory/m2</fileStoreDir>
</provider>
</config>
Check status code
> curl -s -o /dev/null -w "%{http_code}" http://localhost:49100/
Health check URL
> curl -s -o /dev/null -w "%{http_code}" http://localhost:49100/artifactory/api/system/ping
200
References:
https://sillycat.iteye.com/blog/2437346
https://sillycat.iteye.com/blog/2431253
https://www.jfrog.com/confluence/display/RTF5X/Installing+with+Docker
https://www.jfrog.com/confluence/pages/viewpage.action?pageId=59082305
https://www.jfrog.com/confluence/display/RTF4X/Configuring+the+Filestore
I go to the page and download the file
https://jfrog.com/open-source/#artifactory
The file I download is jfrog-artifactory-oss-6.8.4.zip
Unzip the file and place in working directory.
Change the bin/artifactory.default as follow:
> cat bin/artifactory.default
#!/bin/sh
#Default values
export ARTIFACTORY_HOME=/opt/artifactory
export ARTIFACTORY_USER=carl
export JAVA_HOME=/opt/jdk
#export START_LOCAL_REPLICATOR=true
#export START_LOCAL_MDS=true
export TOMCAT_HOME=$ARTIFACTORY_HOME/tomcat
export ARTIFACTORY_PID=$ARTIFACTORY_HOME/run/artifactory.pid
export JAVA_OPTIONS="-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\"kill -9 %p\""
export JAVA_OPTIONS="$JAVA_OPTIONS -Djruby.bytecode.version=1.8 -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"
# Timeout waiting for artifactory to start
# START_TMO=60
Command to start
> bin/artifactory.sh start
It is working now. Then I will build the Docker manually.
Here is the Dockerfile I use
#Run an artifactory
#Prepare the OS
FROM ubuntu:16.04
MAINTAINER Rachel Kang <yiyikangrachel@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8
RUN apt-get -qq update
RUN apt-get -qqy dist-upgrade
#Prepare the denpendencies
RUN apt-get install -qy wget unzip vim
RUN apt-get install -qy iputils-ping
#Install SUN JAVA
RUN apt-get update && \
apt-get install -y --no-install-recommends locales && \
locale-gen en_US.UTF-8 && \
apt-get dist-upgrade -y && \
apt-get --purge remove openjdk* && \
echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections && \
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" > /etc/apt/sources.list.d/webupd8team-java-trusty.list && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 && \
apt-get update && \
apt-get install -y --no-install-recommends oracle-java8-installer oracle-java8-set-default && \
apt-get clean all
#add the software artifactory
ADD install/jfrog-artifactory-oss-6.8.4.zip /tool/
WORKDIR /tool/
RUN unzip jfrog-artifactory-oss-6.8.4.zip
RUN rm -fr jfrog-artifactory-oss-6.8.4.zip
RUN ln -s /tool/artifactory-oss-6.8.4 /tool/artifactory
ADD conf/artifactory.default /tool/artifactory/bin/
ADD conf/binarystore.xml /tool/artifactory/etc/
#set up the app
EXPOSE 8081
RUN mkdir -p /app/
ADD start.sh /app/
WORKDIR /app/
CMD [ "./start.sh" ]
Makefile to support the start/stop Commands
PORT=8081
IMAGE=sillycat/public
TAG=ubuntu-artifactory-1.0
NAME=ubuntu-artifactory-1.0-$(PORT)
docker-context:
build: docker-context
docker build -t $(IMAGE):$(TAG) .
run:
docker run \
-d \
-u root \
-p $(PORT):8081 \
-v $(shell pwd)/artifactory-data:/var/opt/jfrog/artifactory \
-v /var/run/docker.sock:/var/run/docker.sock \
--name $(NAME) \
$(IMAGE):$(TAG)
debug:
docker run -ti -p $(PORT):8081 --name $(NAME) $(IMAGE):$(TAG) /bin/bash
clean:
docker stop ${NAME}
docker rm ${NAME}
logs:
docker logs ${NAME}
publish:
docker push ${IMAGE}
Here is the start.sh Command
#!/bin/sh -ex
#start the service
cd /tool/artifactory
bin/artifactory.sh start
touch /tool/artifactory/logs/artifactory.log
tail -f /tool/artifactory/logs/artifactory.log
Here is the Configure File conf/artifactory.default
#!/bin/sh
#Default values
export ARTIFACTORY_HOME=/tool/artifactory
export ARTIFACTORY_USER=root
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
#export START_LOCAL_REPLICATOR=true
#export START_LOCAL_MDS=true
export TOMCAT_HOME=$ARTIFACTORY_HOME/tomcat
export ARTIFACTORY_PID=$ARTIFACTORY_HOME/run/artifactory.pid
export JAVA_OPTIONS="-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC -XX:OnOutOfMemoryError=\"kill -9 %p\""
export JAVA_OPTIONS="$JAVA_OPTIONS -Djruby.bytecode.version=1.8 -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"
# Timeout waiting for artifactory to start
# START_TMO=60
Here is the configuration file conf/binarystore.xml
<?xml version="1.0" encoding="UTF-8"?>
<config version="1">
<chain template="file-system" />
<provider id="file-system" type="file-system">
<fileStoreDir>/tool/artifactory/m2</fileStoreDir>
</provider>
</config>
Check status code
> curl -s -o /dev/null -w "%{http_code}" http://localhost:49100/
Health check URL
> curl -s -o /dev/null -w "%{http_code}" http://localhost:49100/artifactory/api/system/ping
200
References:
https://sillycat.iteye.com/blog/2437346
https://sillycat.iteye.com/blog/2431253
https://www.jfrog.com/confluence/display/RTF5X/Installing+with+Docker
https://www.jfrog.com/confluence/pages/viewpage.action?pageId=59082305
https://www.jfrog.com/confluence/display/RTF4X/Configuring+the+Filestore
发表评论
-
Update Site will come soon
2021-06-02 04:10 1688I am still keep notes my tech n ... -
Stop Update Here
2020-04-28 09:00 325I will stop update here, and mo ... -
NodeJS12 and Zlib
2020-04-01 07:44 486NodeJS12 and Zlib It works as ... -
Docker Swarm 2020(2)Docker Swarm and Portainer
2020-03-31 23:18 375Docker Swarm 2020(2)Docker Swar ... -
Docker Swarm 2020(1)Simply Install and Use Swarm
2020-03-31 07:58 376Docker Swarm 2020(1)Simply Inst ... -
Traefik 2020(1)Introduction and Installation
2020-03-29 13:52 345Traefik 2020(1)Introduction and ... -
Portainer 2020(4)Deploy Nginx and Others
2020-03-20 12:06 437Portainer 2020(4)Deploy Nginx a ... -
Private Registry 2020(1)No auth in registry Nginx AUTH for UI
2020-03-18 00:56 446Private Registry 2020(1)No auth ... -
Docker Compose 2020(1)Installation and Basic
2020-03-15 08:10 383Docker Compose 2020(1)Installat ... -
VPN Server 2020(2)Docker on CentOS in Ubuntu
2020-03-02 08:04 469VPN Server 2020(2)Docker on Cen ... -
Buffer in NodeJS 12 and NodeJS 8
2020-02-25 06:43 396Buffer in NodeJS 12 and NodeJS ... -
NodeJS ENV Similar to JENV and PyENV
2020-02-25 05:14 491NodeJS ENV Similar to JENV and ... -
Prometheus HA 2020(3)AlertManager Cluster
2020-02-24 01:47 433Prometheus HA 2020(3)AlertManag ... -
Serverless with NodeJS and TencentCloud 2020(5)CRON and Settings
2020-02-24 01:46 343Serverless with NodeJS and Tenc ... -
GraphQL 2019(3)Connect to MySQL
2020-02-24 01:48 257GraphQL 2019(3)Connect to MySQL ... -
GraphQL 2019(2)GraphQL and Deploy to Tencent Cloud
2020-02-24 01:48 458GraphQL 2019(2)GraphQL and Depl ... -
GraphQL 2019(1)Apollo Basic
2020-02-19 01:36 334GraphQL 2019(1)Apollo Basic Cl ... -
Serverless with NodeJS and TencentCloud 2020(4)Multiple Handlers and Running wit
2020-02-19 01:19 318Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(3)Build Tree and Traverse Tree
2020-02-19 01:19 327Serverless with NodeJS and Tenc ... -
Serverless with NodeJS and TencentCloud 2020(2)Trigger SCF in SCF
2020-02-19 01:18 304Serverless with NodeJS and Tenc ...
相关推荐
JFrog Artifactory是一个基于二进制文件的仓库管理器,它可以与CI/CD系统如Jenkins整合,以自动化软件分发和部署流程。以下将详细介绍JFrog Artifactory如何与Jenkins协同工作来实现CI/CD。 首先,JFrog ...
JFrog Artifactory一个类似于npmjs.org的不错的Web界面 要在不同项目和开发人员之间共享公司或团队中的代码,您可以使用私有的npm注册表,例如或 (在Java环境中通常用于Maven依赖管理)。 后者缺少适合Web开发人员...
《JFrog Artifactory C++ CE:高效且灵活的二进制存储库管理器》 JFrog Artifactory,特别为C++开发者设计的版本——jfrog-artifactory-cpp-ce-7.38.8-linux.tar.gz,是一款功能强大的开源二进制存储库管理工具。它...
该工具旨在简化从 Sonatype Nexus 到 JFrog Artifactory 的过渡。 它提供了一个简单的类似向导的界面,允许您轻松配置和运行从 Nexus 实例到 Artifactory 实例的存储库、工件、用户和设置的迁移。 目前,可以迁移...
在Artifactory Commercial,Enterprise和OSS版本6.x和7.x 。 认证方式 Artifactory导出器需要admin用户,并且支持多种身份验证方式。 支持以下方法: 基本认证 不记名令牌 基本认证 可以通过设置ARTI_USERNAME和...
jfrog-artifactory,docker-compose的一件部署版本,适合c++的版本,该版本占用资源小,部署方便,比较轻量级,是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理你的工件和依赖项
《JFrog Artifactory C++ CE 6.11.6:二进制包管理利器》 在软件开发过程中,尤其是C++这样的系统级编程语言,管理二进制依赖库是一项复杂而重要的任务。JFrog Artifactory C++ CE(Community Edition)6.11.6版...
### 用Artifactory管理内部Maven仓库 #### 背景知识 Maven作为Java开发者广泛使用的构建工具,能够显著提升项目的构建效率并简化依赖管理。为了更好地利用Maven的功能,很多团队会选择搭建自己的内部Maven仓库。...
输入“yes”,然后会出现一大串内容,最后跳出两个选项:1-生成密钥字符串;最后打开浏览器,输入localhost:8081,接下来就会出现一个需要密钥的窗口,
quickstart-jfrog-artifactoryAWS云上的JFrog Artifactory 三个新的快速入门将在30-45分钟内将JFrog Artifactory部署在Amazon Web Services(AWS)云上。 可用的部署选项使用您选择的Amazon Elastic Compute Cloud...
jfrog-artifactory-badge 一个基于http的微型微服务,用于为给定的私有jfrog工件存储库提供图像徽章。入门节点8+ 将.env.example文件复制/重命名为.env,然后填写工件设置的详细信息npm安装npm开始示例.env文件您...
用法添加到您的project/plugins.sbt resolvers + = Resolver .url( " ivy-release-local " , url( s " https://jrouly.jfrog.io/artifactory/ivy-release-local " ))( Resolver .ivyStylePatterns)addSbtPlugin( " ...
dockerizing-jenkins:Dockerize Jenkins教程系列的代码:1)Dockerize Jenkins 2设置并将其与Sonarqube... 2)使用Maven和JFrog Artifactory进行部署3)使用docker-compose,docker-secret和jenkins凭证插件保护密码
分支地位掌握 开发者概述JFrog Artifactory通过JFrog Artifactory Extension提供与Azure DevOps的紧密集成。 除了管理将工件有效地部署到Artifactory之外,该扩展还使您可以捕获有关已部署的工件,已解决的依赖关系...
Artifactory是一款强大的企业级软件仓库管理工具,由JFrog公司开发。它支持多种类型的软件包格式,如Maven、Gradle、npm、PyPI等,并提供了一整套用于管理和部署软件资产的高级功能。然而,针对Artifactory的旧版...
2. **JFrog Artifactory**:JFrog Artifactory是JFrog的主要产品,是一个企业级的 Artifact存储库,支持多种格式如Maven、npm、Docker等。在Kubernetes环境中,Artifactory可以作为CI/CD流程中的关键组件,用于存储...
由于JFrog Artifactory的新托管,因此这里需要在项目的build.gradle(项目根目录中的一个)中进行其他调整,以帮助Gradle构建系统找到新的库: buildscript { ... dependencies { classpath "org.jfrog....
有关使用泊坞运行Artifactory的更详细的文档,请参阅的JFrog Artifactory的用户指南 码头工人 要了解有关Docker及其设置方法的更多信息,请参阅文档。 例子 以下示例可用 (已淘汰) (已弃用) (已弃用) (已...
在IT行业中,JFrog Artifactory是一款强大的企业级的软件仓库管理工具,它支持多种类型的艺术品(如Maven, npm, Docker等)的存储、管理和分发。Artifactory Enterprise是其旗舰版本,提供了高级的安全性、扩展性和...
7. **灵活性和可扩展性**:通过JFrog Artifactory作为通用的存储库管理器,Xray可以轻松地扩展到整个软件供应链,覆盖各种类型的工件。 通过安装JFrog Xray 3.52.4 RPM,Linux用户可以利用这个强大的工具来保护他们...