docker run --rm -it -v $(pwd):/app --entrypoint composer:lts installdocker run --rm -it -v $(pwd):/app --entrypoint /bin/sh composer:lts -c 'php -v'| # https://jay.gooby.org/2022/07/19/building-just-mysqlclient-on-alpine-from-scratch | |
| FROM alpine:3.19 | |
| RUN apk add --no-cache bash build-base autoconf openssl openssl-dev ncurses ncurses-dev wget cmake && \ | |
| wget -O /tmp/mysql-8.4.0.tar.gz https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.0.tar.gz && \ | |
| cd /tmp && tar -zxf /tmp/mysql-8.4.0.tar.gz && \ | |
| cd /tmp/mysql-8.4.0 && cmake -DFORCE_INSOURCE_BUILD=1 -DWITHOUT_SERVER:BOOL=ON -DCMAKE_INSTALL_PREFIX=/ && \ | |
| make && make install && \ | |
| rm -rf /tmp/mysql* && rm -rf /var/cache/apk/* |
| curl --silent --header "X-Token: 5edd80e9-bed1-4efe-9492-5bd4de932d84" https://example.com | ffprobe pipe:0 -loglevel quiet -show_streams -print_format json |
| FROM python:3.8-slim-buster | |
| COPY . /app | |
| WORKDIR /app | |
| RUN pip install -r requirements.txt | |
| ENTRYPOINT [ "python" ] | |
| CMD [ "app.py" ] |
This method avoids merge conflicts if you have periodically pulled master into your branch. It also gives you the opportunity to squash into more than 1 commit, or to re-arrange your code into completely different commits (e.g. if you ended up working on three different features but the commits were not consecutive).
Note: You cannot use this method if you intend to open a pull request to merge your feature branch. This method requires committing directly to master.
Switch to the master branch and make sure you are up to date:
| <?php | |
| declare(strict_types=1); | |
| namespace App\Service\Application\Doctrine\DqlFunctions; | |
| use Doctrine\ORM\Query\AST\Functions\FunctionNode; | |
| use Doctrine\ORM\Query\AST\Node; | |
| use Doctrine\ORM\Query\Lexer; | |
| use Doctrine\ORM\Query\Parser; |
| find . -type f -print | grep php | wc -l |
| version: '3.9' | |
| services: | |
| ngrok-app: | |
| image: shkoliar/ngrok | |
| container_name: ngrok-app | |
| ports: | |
| - 4040:4040 | |
| environment: | |
| AUTH_TOKEN: "<ngrok-auth-key>" |
| printf "Key-Type: 1\nKey-Length: 2048\nSubkey-Type: 1\nSubkey-Length: 2048\nName-Real: %s\nName-Email: %s\nExpire-Date: 0\nPassphrase: %s" $USER_GPG $EMAIL_GPG $PASSPHRASE_GPG | gpg --batch --gen-key |