sw360 / sw360chores

WARNING - Work in Progress - It is not Bug Free! Use with Caution. This repository contains Dockerfiles and accompanying scripts that allow deployment of sw360 via docker
Eclipse Public License 1.0
13 stars 18 forks source link

Improve proxy support #80

Closed oheger-bosch closed 4 years ago

oheger-bosch commented 4 years ago

This PR addresses #79. It implements the following changes:

maxhbr commented 4 years ago

Sorry, I am not able to review it. I do not live behind a proxy with which I could test it.

oheger-bosch commented 4 years ago

@maxhbr, I understand. But could you at least confirm that these changes do not break anything for non-proxy users?

neubs-bsi commented 4 years ago

I just tried out this setting once with the new feature and once without. Without the new feature everything worked fine.

With the new feature, I get the following error:

DEBUG: call: docker-compose -p sw360 -f deployment/docker-compose.yml -f deployment/docker-compose.compose.yml -f deployment/docker-compose.dev.yml up --net-host
Builds, (re)creates, starts, and attaches to containers for a service.

Unless they are already running, this command also starts any linked services.

The `docker-compose up` command aggregates the output of each container. When
the command exits, all containers are stopped. Running `docker-compose up -d`
starts the containers in the background and leaves them running.

If there are existing containers for a service, and the service's configuration
or image was changed after the container's creation, `docker-compose up` picks
up the changes by stopping and recreating the containers (preserving mounted
volumes). To prevent Compose from picking up changes, use the `--no-recreate`
flag.

If you want to force Compose to stop and recreate all containers, use the
`--force-recreate` flag.

Usage: up [options] [--scale SERVICE=NUM...] [SERVICE...]

Options:
    -d                         Detached mode: Run containers in the background,
                               print new container names. Incompatible with
                               --abort-on-container-exit and --timeout.
    --no-color                 Produce monochrome output.
    --no-deps                  Don't start linked services.
    --force-recreate           Recreate containers even if their configuration
                               and image haven't changed.
                               Incompatible with --no-recreate.
    --no-recreate              If containers already exist, don't recreate them.
                               Incompatible with --force-recreate.
    --no-build                 Don't build an image, even if it's missing.
    --no-start                 Don't start the services after creating them.
    --build                    Build images before starting containers.
    --abort-on-container-exit  Stops all containers if any container was stopped.
                               Incompatible with -d.
    -t, --timeout TIMEOUT      Use this timeout in seconds for container shutdown
                               when attached or when containers are already.
                               Incompatible with -d.
                               running. (default: 10)
    --remove-orphans           Remove containers for services not
                               defined in the Compose file
    --exit-code-from SERVICE   Return the exit code of the selected service container.
                               Implies --abort-on-container-exit.
    --scale SERVICE=NUM        Scale SERVICE to NUM instances. Overrides the `scale`
                               setting in the Compose file if present.
failed... at ./sw360chores.pl line 281.

Is there any special setup I need to consider? (I turned my vpn off, so was behind a proxy and used the command ./sw360chores.pl --build -- up --net-host)

maxhbr commented 4 years ago

I think you would need ./sw360chores.pl --build --net-host -- up

neubs-bsi commented 4 years ago

Ah, thanks for the hint @maxhbr now both setups work for me.

maxhbr commented 4 years ago

does the non-proxy variant also work with a fresh clone (without already pulled liferay) and without the manual creation of a proxy.env file?

oheger-bosch commented 4 years ago

I will have to go through these places again, but as far as I see, the most scripts are implemented in a fault-tolerant way and check for the presence of the proxy.env file before they try to read it.

oheger-bosch commented 4 years ago

New idea: I modified the perl script to create the proxy.env file as a copy from the template if it does not exist yet. So it is guaranteed that the file always exists.

mcjaeger commented 4 years ago

(from discussion): merge this and clean up comprehensively with

Currently, travis check fails at downloading tomcat8-jre8-alpin ...