Artifactory

From Chorke Wiki
Jump to navigation Jump to search
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