Artifactory: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 8: Line 8:
  export JFROG_HOME=$HOME/jfrog
  export JFROG_HOME=$HOME/jfrog
|}
|}
'''Volume'''
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 17: Line 15:
|}
|}


==Pull==
'''Artifactory Latest'''
<syntaxhighlight lang="bash">
docker pull docker.bintray.io/jfrog/artifactory-pro:latest
docker pull docker.bintray.io/jfrog/artifactory-oss:latest
docker pull docker.bintray.io/jfrog/artifactory-cpp-ce
</syntaxhighlight>
'''Artifactory 6.2.0'''
<syntaxhighlight lang="bash">
docker pull docker.bintray.io/jfrog/artifactory-pro:6.2.0
docker pull docker.bintray.io/jfrog/artifactory-oss:6.2.0
</syntaxhighlight>
'''Artifactory 5.11.0'''
<syntaxhighlight lang="bash">
docker pull docker.bintray.io/jfrog/artifactory-pro:5.11.0
docker pull docker.bintray.io/jfrog/artifactory-oss:5.11.0
</syntaxhighlight>
'''Artifactory 5.10.4'''
<syntaxhighlight lang="bash">
docker pull docker.bintray.io/jfrog/artifactory-pro:5.10.4
docker pull docker.bintray.io/jfrog/artifactory-oss:5.10.4
</syntaxhighlight>
'''Artifactory 4.1.0'''
<syntaxhighlight lang="bash">
docker pull docker.bintray.io/jfrog/artifactory-pro:4.1.0
docker pull docker.bintray.io/jfrog/artifactory-oss:4.1.0
</syntaxhighlight>
'''Artifactory 4.0.0'''
<syntaxhighlight lang="bash">
docker pull docker.bintray.io/jfrog/artifactory-pro:4.0.0
docker pull docker.bintray.io/jfrog/artifactory-oss:4.0.0
</syntaxhighlight>
==Run==
<source lang="bash">
<source lang="bash">
docker run --name='artifactory' -d -p 8089:8081 docker.bintray.io/jfrog/artifactory-oss:4.1.0
docker run -it --rm \
docker exec -it artifactory bash
--publish 9040:8081 \
docker start artifactory
--publish 9041:8082 \
docker stop artifactory
docker.bintray.io/jfrog/artifactory-oss:7.6.3 \
bin/bash
id; exit
</source>
</source>


===Advance===
<source lang="bash">
<source lang="bash">
mkdir -p $JFROG_HOME/artifactory7/var/etc/
mkdir -p $JFROG_HOME/artifactory7/var/etc/
Line 70: Line 30:
</source>
</source>


<source lang="bash">
==Docker==
===Debian===
<source lang="bash" highlight="5,6">
docker run --detach \
docker run --detach \
--publish 8081:8081 \
--publish 9040:8081 \
--publish 8082:8082 \
--publish 9041:8082 \
--name artifactory \
--name artifactory \
--restart always \
--volume $JFROG_HOME/artifactory7/var/:/var/opt/jfrog/artifactory \
--volume $JFROG_HOME/artifactory7/var/:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:7.6.3
docker.bintray.io/jfrog/artifactory-oss:7.6.3
</source>
</source>


<source lang="bash">
===CentOS===
vim /private/etc/apache2/extra/httpd-vhosts.conf
<source lang="bash" highlight="5,6">
vim /etc/httpd/conf.modules.d/00-proxy.conf
docker run --detach \
--publish 9040:8081 \
--publish 9041:8082 \
--name artifactory \
--restart always \
--volume $JFROG_HOME/artifactory7/var/:/var/opt/jfrog/artifactory:Z \
docker.bintray.io/jfrog/artifactory-oss:7.6.3
</source>
</source>


<source lang="cfg">
==Apache==
# proxy for artifactory
===Debian===
ProxyPass /artifactory http://localhost:8089/artifactory nocanon
<code>vim /etc/apache2/sites-enabled/01-cid.chorke.org-le-ssl.conf</code>
ProxyPassReverse /artifactory http://localhost:8089/artifactory
<source lang="apache" highlight="5,8-10">
<IfModule mod_ssl.c>
<VirtualHost *:443>
    SSLProxyEngine On
    ProxyRequests Off
    SSLProxyVerify None
    ProxyPreserveHost On
    AllowEncodedSlashes On
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerName Off
    SSLProxyCheckPeerExpire Off
    # more others config skipped
 
    <Location /ui>
        Order Allow,Deny
        Allow from all
        ProxyPass http://localhost:9041/ui nocanon
        ProxyPassReverse http://localhost:9041/ui
    </Location>
 
    <Location /artifactory>
        Order Allow,Deny
        Allow from all
        ProxyPass http://localhost:9040/artifactory nocanon
        ProxyPassReverse http://localhost:9040/artifactory
    </Location>
 
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/cid.chorke.org/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cid.chorke.org/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/cid.chorke.org/chain.pem
</VirtualHost>
</IfModule>
</source>
</source>


<syntaxhighlight lang="bash">
apachectl -t
systemctl reload httpd
systemctl restart httpd
# http://cid.chorke.org/artifactory/webapp/#/login@admin/password
</syntaxhighlight>
==To Run==
<source lang="bash">
<source lang="bash">
apachectl -t
docker exec -it artifactory bash
service httpd restart
docker start artifactory
docker stop artifactory
docker logs artifactory
docker logs artifactory
</source>
== Debian ==
<source lang="bash">
cat <<EOF >> /etc/apt/sources.list.d/jfrog-artifactory.list
deb https://releases.jfrog.io/artifactory/artifactory-debs buster main
# deb https://releases.jfrog.io/artifactory/artifactory-debs bionic main
# deb https://releases.jfrog.io/artifactory/artifactory-debs xenial main
EOF
wget -qO - https://releases.jfrog.io/artifactory/api/gpg/key/public|apt-key add -
apt update;apt list --upgradable;apt search jfrog-artifactory-cpp-ce
</source>
<source lang="properties">
cat <<EOF >> $JFROG_HOME/artifactory/var/etc/system.yaml
configVersion: 1
shared:
  extraJavaOpts: "-server -Xms512m -Xmx1g -Xss256k -XX:+UseG1GC"
  node:
    primary: true
  database:
    type: postgresql
    driver: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/artifactory
    username: artifactory
    password: password
EOF
</source>


# http://cdn.chorke.org/artifactory/webapp/#/login@admin/password
<source lang="bash">
# pios swap memory
printf '\nbefore:\n';free -th;\
sed -i "s|CONF_SWAPSIZE=100|CONF_SWAPSIZE=2048|" /etc/dphys-swapfile;\
service dphys-swapfile restart;\
printf '\nupdate:\n';free -th
</source>
</source>


== Good to Know ==
==Knowledge==
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# filter and remove docker images, containers  
# filter and remove docker images, containers  
Line 115: Line 158:


==References==
==References==
{|
| valign="top" |
* [https://jfrog.com/knowledge-base/how-to-remove-artifactory-from-the-context-url-in-artifactory-7/ Remove artifactory from the Context URL]
* [https://jfrog.com/knowledge-base/how-to-remove-artifactory-from-the-context-url-in-artifactory-7/ Remove artifactory from the Context URL]
* [https://www.jfrog.com/confluence/display/JFROG/Installing+Artifactory#InstallingArtifactory-DockerInstallation Installing Artifactory Docker Installation]
* [https://www.jfrog.com/confluence/display/JFROG/Installing+Artifactory#InstallingArtifactory-DockerInstallation Installing Artifactory Docker Installation]
Line 120: Line 165:
* [https://www.jfrog.com/confluence/display/RTF6X/Configuring+a+Reverse+Proxy Configuring a Reverse Proxy]
* [https://www.jfrog.com/confluence/display/RTF6X/Configuring+a+Reverse+Proxy Configuring a Reverse Proxy]
* [https://github.com/jfrog/artifactory-docker-examples Artifactory Docker Examples]
* [https://github.com/jfrog/artifactory-docker-examples Artifactory Docker Examples]
----
* [https://docs.docker.com/engine/reference/commandline/volume_create/ Docker volume create]
* [https://docs.docker.com/engine/reference/commandline/volume_create/ Docker volume create]
* [https://www.jfrog.com/confluence/display/RTF/Installing+with+Docker Installing with Docker]
* [https://www.jfrog.com/confluence/display/RTF/Installing+with+Docker Installing with Docker]
* [https://www.jfrog.com/confluence/display/RTF4X/Running+with+Docker Running with Docker]
* [https://www.jfrog.com/confluence/display/RTF4X/Running+with+Docker Running with Docker]
| valign="top" |
* [https://bintray.com/jfrog/product/JFrog-Artifactory-Oss/view JFrog Artifactory Community Edition]
|}

Latest revision as of 17:43, 30 August 2020

Linux:
export JFROG_HOME=/srv/jfrog
MacOS:
export JFROG_HOME=$HOME/jfrog
Local location Container location Usage
$JFROG_HOME/artifactory7/var/ /var/opt/jfrog/artifactory For storing artifactory data
docker run -it --rm \
--publish 9040:8081 \
--publish 9041:8082 \
docker.bintray.io/jfrog/artifactory-oss:7.6.3 \
bin/bash
id; exit
mkdir -p $JFROG_HOME/artifactory7/var/etc/
touch $JFROG_HOME/artifactory7/var/etc/system.yaml
chown -R 1030:1030 $JFROG_HOME/artifactory7/var

Docker

Debian

docker run --detach \
--publish 9040:8081 \
--publish 9041:8082 \
--name artifactory \
--restart always \
--volume $JFROG_HOME/artifactory7/var/:/var/opt/jfrog/artifactory \
docker.bintray.io/jfrog/artifactory-oss:7.6.3

CentOS

docker run --detach \
--publish 9040:8081 \
--publish 9041:8082 \
--name artifactory \
--restart always \
--volume $JFROG_HOME/artifactory7/var/:/var/opt/jfrog/artifactory:Z \
docker.bintray.io/jfrog/artifactory-oss:7.6.3

Apache

Debian

vim /etc/apache2/sites-enabled/01-cid.chorke.org-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
    SSLProxyEngine On
    ProxyRequests Off
    SSLProxyVerify None
    ProxyPreserveHost On
    AllowEncodedSlashes On
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerName Off
    SSLProxyCheckPeerExpire Off
    # more others config skipped

    <Location /ui>
        Order Allow,Deny
        Allow from all
        ProxyPass http://localhost:9041/ui nocanon
        ProxyPassReverse http://localhost:9041/ui
    </Location>

    <Location /artifactory>
        Order Allow,Deny
        Allow from all
        ProxyPass http://localhost:9040/artifactory nocanon
        ProxyPassReverse http://localhost:9040/artifactory
    </Location>

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/cid.chorke.org/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cid.chorke.org/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/cid.chorke.org/chain.pem
</VirtualHost>
</IfModule>
apachectl -t
systemctl reload httpd
systemctl restart httpd
# http://cid.chorke.org/artifactory/webapp/#/login@admin/password

To Run

docker exec -it artifactory bash
docker start artifactory
docker stop artifactory
docker logs artifactory

Debian

cat <<EOF >> /etc/apt/sources.list.d/jfrog-artifactory.list
deb https://releases.jfrog.io/artifactory/artifactory-debs buster main
# deb https://releases.jfrog.io/artifactory/artifactory-debs bionic main
# deb https://releases.jfrog.io/artifactory/artifactory-debs xenial main
EOF

wget -qO - https://releases.jfrog.io/artifactory/api/gpg/key/public|apt-key add -
apt update;apt list --upgradable;apt search jfrog-artifactory-cpp-ce
cat <<EOF >> $JFROG_HOME/artifactory/var/etc/system.yaml
configVersion: 1
shared:
  extraJavaOpts: "-server -Xms512m -Xmx1g -Xss256k -XX:+UseG1GC"
  node:
    primary: true
  database:
    type: postgresql
    driver: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/artifactory
    username: artifactory
    password: password
EOF
# pios swap memory
printf '\nbefore:\n';free -th;\
sed -i "s|CONF_SWAPSIZE=100|CONF_SWAPSIZE=2048|" /etc/dphys-swapfile;\
service dphys-swapfile restart;\
printf '\nupdate:\n';free -th

Knowledge

# filter and remove docker images, containers 
docker rm $(docker ps --all -q -f status=dead)
docker rmi $(docker images -qa -f 'dangling=true')
docker rm artifactory && docker rmi docker.bintray.io/jfrog/artifactory-oss:4.1.0

# docker container debug, checking history & service
docker run --name='artifactory' -it docker.bintray.io/jfrog/artifactory-oss:4.1.0
docker history docker.bintray.io/jfrog/artifactory-oss:4.1.0
docker exec -it artifactory /bin/bash
docker exec -it artifactory bash
docker logs artifactory 
service --status-all

References