So habe ich pycharm professionelle Version. Es ist es wert, da ich mit Windows atm festhalte, und pycharm ist erstaunlich, es hilft mir, alle Hindernisse zu umgehen, die ich in Windows laufe. Das beste Werkzeug, auf das ich gestoßen bin. Die Art und Weise, wie ich die Lizenzierung machen möchte, besteht darin, einen Server zu erstellen, der die Lizenz besitzt.Einen pycharm Lizenzserver einrichten
Ich möchte dies mit Docker
, erstellen Sie eine docker container
, die den Server im Hintergrund ausgeführt wird. In dem Tutorial, das ich lese, empfehlen sie daher, den Linux-Server Arch
als Lizenzserver zu verwenden. Also das habe ich gemacht. Aber anstatt den nackten Knochenbogen zu verwenden, verwende ich die verbesserte Sicherheitsversion. Heres das Basisbild von Ich beginne:
nning2/compile-linux-grsec
So heres meine Dockerfile bisher:
FROM nning2/compile-linux-grsec
ENV APP_ROOT /app
ENV SERVER_DIR /opt/dvt-jb-lic-server
ENV SERVER_BINARY dvt-jb_licsrv.linux.amd64
ENV SERVER_BINARY_PATH "${SERVER_ROOT}/${SERVER_BINARY}"
ENV COMPOSE_CONVERT_WINDOWS_PATHS 1
RUN mkdir -p $APP_ROOT
WORKDIR $APP_ROOT
VOLUME [".:/app"]
ADD "./${SERVER_BINARY}" $APP_ROOT
RUN mkdir -p $SERVER_DIR
RUN cp "${APP_ROOT}/${SERVER_BINARY}" $SERVER_BINARY_PATH
RUN chmod +x $SERVER_BINARY_PATH
RUN ls -l $SERVER_DIR
RUN $SERVER_BINARY_PATH -mode install
So, jetzt muss ich die docker-compose.yml
Datei machen nur den Lizenzserver im Hintergrund auszuführen. Heres, was habe ich bisher:
version: '2'
services:
shell:
build: .
command: /bin/bash service license-server
ports:
- "1337:1337"
Als ich docker-compose build .
laufen, heres, was es gibt:
$ docker-compose build --force-rm --no-cache
Building shell
Step 1 : FROM nning2/compile-linux-grsec
---> baf47265c7fc
Step 2 : ENV APP_ROOT /app
---> Running in 77d33bfe8848
---> 67afb97c5b46
Removing intermediate container 77d33bfe8848
Step 3 : ENV SERVER_DIR /opt/dvt-jb-lic-server
---> Running in c1b0615d8bec
---> 1bc7ac4a8b78
Removing intermediate container c1b0615d8bec
Step 4 : ENV SERVER_BINARY dvt-jb_licsrv.linux.amd64
---> Running in be4210954aaa
---> ce48dd70acbb
Removing intermediate container be4210954aaa
Step 5 : ENV SERVER_BINARY_PATH "${SERVER_ROOT}/${SERVER_BINARY}"
---> Running in 9e1a0aa39855
---> a1c99aad2418
Removing intermediate container 9e1a0aa39855
Step 6 : ENV COMPOSE_CONVERT_WINDOWS_PATHS 1
---> Running in 2a9337698969
---> dae5eff0e382
Removing intermediate container 2a9337698969
Step 7 : RUN mkdir -p $APP_ROOT
---> Running in ffe6894f4d15
---> 2c9bfd607bc0
Removing intermediate container ffe6894f4d15
Step 8 : WORKDIR $APP_ROOT
---> Running in 5404c27b138c
---> a607eaed217e
Removing intermediate container 5404c27b138c
Step 9 : VOLUME .:/app
---> Running in ad577ac00c9e
---> 2fe4a66ba1ed
Removing intermediate container ad577ac00c9e
Step 10 : ADD "./${SERVER_BINARY}" $APP_ROOT
---> 5ec55e991fba
Removing intermediate container 55ae3d52227f
Step 11 : RUN mkdir -p $SERVER_DIR
---> Running in d76e590f011a
---> b379ef02ab88
Removing intermediate container d76e590f011a
Step 12 : RUN cp "${APP_ROOT}/${SERVER_BINARY}" $SERVER_BINARY_PATH
---> Running in 5e0d782f4549
---> 802eeb561b62
Removing intermediate container 5e0d782f4549
Step 13 : RUN chmod +x $SERVER_BINARY_PATH
---> Running in 64c79436824c
---> c67396e5a721
Removing intermediate container 64c79436824c
Step 14 : RUN ls -l $SERVER_DIR
---> Running in 0cda941ffc29
total 0
---> a94136235d9d
Removing intermediate container 0cda941ffc29
Step 15 : RUN $SERVER_BINARY_PATH -mode install
---> Running in d9bfeb3ae871
[91m2017/02/05 02:34:38 Installing license server as service.
2017/02/05 02:34:38 open /etc/init.d/JetBrainsLicServerDVT: no such file or directory
2017/02/05 02:34:38 Errors while installing the license server. Are you running this as root/Administrator?
[0m ---> a08092892872
Removing intermediate container d9bfeb3ae871
Successfully built a08092892872
Also alles glatt geht, bis es die binäre zu installieren versucht. Die Datei /etc/init.d/JetBrainsLicServerDVT
wird aus irgendeinem Grund nicht installiert. Ich bin neu in Arch, weiß also nicht, wie Administratorrechte noch funktionieren. Ich habe anscheinend Superuser-Privilegien, weil ich die Binärdatei in das Verzeichnis/opt kopieren kann und verschiedene andere Dinge tun kann, die Superuser-Privilegien erfordern.
Ich bin neu in Arch
, auf Ubuntu
Ich würde sudo
verwenden, aber ich weiß nicht, ob das in Arch funktioniert. Muss ich die Lizenzserver-Binärdatei mit Superuser-Berechtigungen installieren?
UPDATE: Ich habe mich in den Container interaktiv angemeldet, um zu sehen, was passiert. Es sieht also so aus, als hätte diese Arch-Distro nicht einmal ein Verzeichnis /etc/init.d
. Die Installation dieser Binärdatei funktioniert also nicht. Aber wenn ich nur die binäre ohne irgendwelche Parameter laufen lasse:
[[email protected] app]# ./dvt-jb_licsrv.linux.amd64
2017/02/05 03:18:50 Starting license server.
2017/02/05 03:18:50
_____ . +
_____ \ | : ,`
________\ |___________________ |____l____ _
/ . | | /___ \_|____/___
\___________\_|\ /` // | /y!r
--------------``----\_____/ /\__________/ ------
____\ `~~~~----/ `----------` /____
\_____/(DVT JetBrains License Server v1.1)\____/
2017/02/05 03:18:50 [!] Server running at: http://127.0.0.1:1337
2017/02/05 03:18:50 [!] Stop the license server with Ctrl+C
2017/02/05 03:18:50 [?] For advanced usage refer to --help
Der Server läuft. Ich würde es vorziehen, es richtig zu installieren, so dass ich den Dienst leicht starten und neu starten kann (d. H. Mit service start license-server
), aber wenn es funktioniert, funktioniert es, damit ich mich nicht beschweren kann. Ich weiß nicht, warum sie darauf bestehen, arch zu verwenden, wenn sie nicht korrekt in Arch installiert werden.
Also beschloss ich, die Schaffung der /etc/init.d
Verzeichnis, um zu versuchen, dann versucht, wieder das binäre Installation, und es funktionierte:
[[email protected] app]# mkdir /etc/init.d
[[email protected] app]# ./dvt-jb_licsrv.linux.amd64 -mode install
2017/02/05 03:41:30 Installing license server as service.
2017/02/05 03:41:30 Successfully installed license server service.
Und ganz sicher seine Arbeits machen:
[[email protected] app]# /etc/init.d/JetBrainsLicServerDVT restart
Stopping JetBrainsLicServerDVT..
Stopped
Starting JetBrainsLicServerDVT